Ⅰ 如何斷開wincc與資料庫的連接
您好,我來為您解答:
手動連接:本地換出的 WinCC 歸檔資料庫處於選中狀態,然後版連接到本地 SQLserver。
權手動斷開:已連接的資料庫處於選中狀態,然後斷開與 SQL server 的連接。
自動連接:用於換出的 WinCC 歸檔的本地文件夾處於選中狀態。在復制時,所選文件夾中的所有歸檔均將自動連接到 SQL server。
只有使用本地 SQL Server 和連通性軟體包許可證,才能運行歸檔連接器。
1、點擊「連接資料庫」連接上資料庫,並開始寫入數據
2、點擊「斷開資料庫」則停止記錄數據
希望我的回答對你有幫助。
Ⅱ VB訪問WINCC的過程歸檔資料庫 如何連接及查詢望大蝦指教
從WINCC6.0開始,就開始採用SQL3000SP3做為WINCC的後台數據了.而這個SQL2000SP3是由SIEMENS為WINCC做了二次開發的,採用了一些獨有的技術,一些是我們知道的,一些是我們所不知道的.所以當我們打開SQL管理器和用高級語言訪問時,和常規的SQL訪問的方法是有一些出入的.即使我們能夠很輕易的訪問ACCESS,普通的SQL2000的資料庫,不見的你就能順利的訪問到WINCC的歷史數據. 官方的資料顯示: 1:WINCC的數據有設計時資料庫和運行時資料庫,分別放在相關的目錄,對於數據使用者而言,我們知道就可以了.設計時資料庫我們了解沒有什麼意義.但運行時資料庫至少我們要知道它的名.他的名一般是"CC_工程名_年_月_日_時_分_秒R"的名,這個對於我們使用者而言,是很重要的的,無論你准備以DSN或OLEDB的方式訪問資料庫,你都需要它.如果你實在不知道它的名,你可以將WINCC激活,然後在'ODBC管理器"或"SQL企業管理器下的"DATABASE"可以看到它,它就蹲在那裡..... 2:運行時庫的表的問題. 其實,這個是很多的用戶很關心的問題,包括我自己在內.常規的使用過高級語言訪問SQL的技術人員都知道,很多的SQL語句,如SELECT ,INSERT INTO等等,都需要指明在某一庫的表中對它進行操作.因此,這個表的問題可能就是你訪問SQL的攔路虎. 先告訴大家:WINCC6.0的SQL庫操作是不需要表名的,因為他有自己定義的SQL語句.細節一會兒在描述. 其實,WINCC在運行時,根據WINCC的設置,數據歸檔是以一定時間做為基準,形成數據片段. 大體上有三個用戶需要了解的表. 在數據片段下,有三個表是我們所關心的 1:ARCHIVE(用戶歸檔記錄) 2:TAGPRESSED(TAGUNPRESSED)(壓縮/非壓縮變數歸檔記錄) 3:MSARCLONG(報警記錄) 事實上,我們在操作數據時,還是並不能直接使用常規的SQL來操作這些表,甚至不允許修改它,MSARCLONG情況好一些,允許插入/修改等. TAGPRESSED的數據和WINCC內設置的變數管理下的歸檔是對應的, MSARCLONG的數據和WINCC內設置的報警記錄下的設置是對應的. ARCHIVE的數據和WINCC內的用戶歸檔數據是對應的. 一般的,當我們使用WINCC製作在線表格和在線趨勢使用的都是變數管理器下的歸檔. 因此,我們打開TAGPRESSED的表,可以看到的一些都是變數記錄的內容,通常也是在這里歸檔了用戶的生產數據.因此,我們訪問WINCC歷史資料庫,實際上是訪問這里的變數記錄 3:訪問歷史資料庫的方法/連接字元/SQL語句 訪問資料庫的方法: A:WINCCOLEDB訪問壓縮歸檔,也可以訪問非壓縮歸檔 B:MS ADO/OLEDB只能訪問非壓縮歸檔對於這種說法,我只嚴正了WINCCOLEDB的方法,後者沒有測試. 連接字元: WINCCOLEDB的連接字元為(本地): provider=winccoledbprovider.1,catalog=.\wincc,data source= 資料庫名,user id=DBA,password=SQL 對於遠程連接,因為沒有條件測試,所以就不說了,希望有哪位朋友日後通過了測試,到這里告訴一下現在開始講訪問用戶歸檔,過程值歸檔和消息歸檔的方法和語法: 1:查詢過程值歸檔和消息歸檔的連接字元串 SET CON=Createobject("adodb.connection") con.open Provider=winccoledbprovider.1;catalog=cc_工程名_年_月_日_時_分_秒R,data source=.\wincc,user id=DBA,password=SQL 說明:按照WINCC規定的連接字元串,創建到資料庫的連接,並且打開這個連接.其中,我們經常需要修改的是Catalog的值,這個值根據不同的工程和創建的時間不同,我們可以在ODBC管理器下或SQL的庫中看到. 查詢過程值歸檔和用戶歸檔的SQL語句 TAG:R,'變數名1','起始時間','終止時間' where條件說明:WHERE子句只對用戶歸檔有效,對過程值歸檔無效.變數名:這個變數名要和WINCC下的變數管理器的過程值歸檔名要一致.其格式為:歸檔名/變數名.起始時間和終止時間可以用相對時間和絕對時間,一般絕對時間比較容易理解,就是從開始時間到終止時間就好了.例如,查詢從2006/3/12 12:20:20秒到2006/3/13/ 12:20:20秒的數據,則應該寫成'2006-3-12 12:20:20' '2006-3-13 12:20:20'就好了.當然拉,也可以用相對時間格式,就是比目前時間的相對值,有個前移後移的問題,很簡單的. 這里特別需要注意的是:記錄到SQL資料庫的時間都是格林威治時間,和中國的東8區有8個小時的時間差,也就是說記錄的時間比本機PC時區晚8小時,這一點我們在測試是尤其重要.因為你是時間不正確,可能數據就沒有顯示,而導致你懷疑連接/命令/記錄的有效性訪問SQL資料庫的方法過程描述. 這和訪問普通的資料庫的方法大致上是相同,唯一的就是由於WINCC的數據是經過了壓縮的. 1:定義連接字元串,就是前面所講到的. 2:創建ADODB的CONNECTION對象,在VB中直接用CREATEOBJECT(ADODB.CONNECTION)函數,在ASP的VB腳本中,需要使用內置SERVER對象創建CONNECTIONG對象. 3:打開到資料庫的連接,使用CONNECTION的OPEN函數 4:創建COMMAND對象,並定義COMMAND對象採用用CMDTEXT方法,表明將要使用命令文本的方式來獲取數據記錄. 5:創建RECORDSET對象,並用COMMAND對象的返回記錄集填充這個記錄集. 6:RECORDSET對象的數據就可以被你任意的使用了