A. 我用vb寫的程序讀取wincc歸檔資料庫sql server的數據。一開始能讀出,可是重新裝系統後不可以。
歸檔資料庫名取決於第一次運行Wincc項目時生成的,因為你的Wincc重新安裝過,因此其歸檔名已經改變,請修改你的VB程序中鏈接Wincc資料庫語句中的歸檔名。
B. wincc和SQL資料庫連接
樓主現在解決了吧,分享一下成果啊
C. 用SQL建立一個本地資料庫,然後和WINCC建立連接,然後用VB讀取和修改SQL資料庫裡面內容,最好是實例。
具體操作修改一下連接字元串和sSql里的命令就可以了
Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim Con
Dim Data1, Data2, Data3
『讀取wincc變數
Data1=HMIRuntime.tags("編號").read
Data2=HMIRuntime.tags("姓名").read
Data3=HMIRuntime.tags("年齡").read
『連接資料庫
Con="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=讀寫資料庫;Data Source=.\WINCC"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = Con
conn.CursorLocation = 3
conn.Open
『寫入資料庫
sSql="insert into個人信息VALUES('" & Data1 & "','" & Data2&"','"&Data3&"');"
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
Set oCom.ActiveConnection = conn
oCom.CommandType = 1
oCom.CommandText = sSql
Set oRs = oCom.Execute
Set oRs = Nothing
conn.Close
Set conn = Nothing
D. 如何用VB訪問Wincc資料庫
sPro = "Provider=sqloledb.1;integrated security=sspi persist security info=false;" sDsn = "initial catalog=資料庫名;" sSer = "Data Source=計算機名.\WinCC;" sCon = sPro + sDsn + sSer
sSql= "select * from 資料庫名"
Set conn = CreateObject("ADODB.Connection") conn.ConnectionString = sCon conn.CursorLocation = 3 conn.Open
Set oRs = CreateObject("ADODB.Recordset") Set oCom = CreateObject("ADODB.Command") oCom.CommandType = 1
Set oCom.ActiveConnection = conn oCom.CommandText = ssql Set oRs = oCom.Execute
E. 如何用vb訪問wincc資料庫
下載mysql-connector-odbc-5.1.6-win32.msi
第二步:安裝mysql-connector-odbc-5.1.6-win32.msi
第三步:運行VB並新建一標准EXE工程, 通過菜單工程->引用 打開」引用」對話框, 找到 MicrosoftActiveX Data Objects x.x Library , 其中 x.x 是版本號, 可能會有很多個, 這里我選擇的是2.5
第四步:打開代碼窗口, 在 Form_Load 過程中輸入下面的代碼(具體說明在代碼的注釋中):
Vb代碼
' 定義並創建資料庫連接和訪問對象
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
' 定義資料庫連接字元串變數
Dim strCn As String
' 定義資料庫連接參數變數
Dim db_host As String
Dim db_user As String
Dim db_pass As String
Dim db_data As String
' 定義 SQL 語句變數
Dim sql As String
' 初始化資料庫連接變數
db_host = "localhost"
db_user = "root"
db_pass = ""
db_data = "erqiuda"
' MySQL ODBC 連接參數
'+------------+---------------------+----------------------------------+
'| 參數名 | 默認值 | 說明 |
'+------------+------------------------------------------------------–+
'| user | ODBC (on Windows) | MySQL 用戶名 |
'| server | localhost | MySQL 伺服器地址 |
'| database | | 默認連接資料庫 |
'| option | 0 | 參數用以指定連接的工作方式 |
'| port | 3306 | 連接埠 |
'| stmt | | 一段聲明, 可以在連接資料庫後運行 |
'| password | | MySQL 用戶密碼 |
'| socket | | (略) |
F. 利用WINCC的VB腳本寫入變數到自定義的資料庫方法
WinCC的VBS雖可以聲明Public變數,但作用域僅限於本畫面,如下:
如果WinCC版本>=V6.0SP3,則可以使用Dataset對象,該對象可以在不同的VBS腳本中進行訪問,下面是個簡單的例子:
1、連接
DimobjConnection,strConnectionString
strConnectionString="Driver={SQLServer};Server=.WINCC;uid=;pass=;database=guowincc"
SetobjConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString=strConnectionString
objConnection.open
HMIRuntime.DataSet.Add"objConnection",objConnection
2、全局動作中引用
DimobjConnection
objConnection=HMIRuntime.DataSet("objConnection").Value
withobjCommand
.ActiveConnection=objConnection
xxxxxxxx
3、關閉連接:
DimobjConnection
objConnection=HMIRuntime.DataSet("objConnection").Value
objConnection.Close
SetobjConnection=Nothing
G. wincc中怎樣用VB調用查詢SQL裡面的歸檔數據
論壇的精華帖就有詳細描述~~~~簡單的例子可以參照西門子提供的Demo程序或者參照深入淺出西門子Wincc6一書。Regards
H. vb通過oledb連接wincc歸檔資料庫問題
當重新安裝時,項目的RT名已經改變,重新在程式中修正你的RT名。
Wincc的RT名組成:項目名RT激活的日期時間
I. 如何用VB編寫client端從wincc的sql server 2000中取數據 急!!!
試著答:如果SQL中的數據表是你自己建的,那你直接可用VB ODBC讀取。如果表是wincc自己的,那你需要知道表結構,這個比較難。一種間接的方法:使用OPC,VB讀wincc變數,wincc用腳本讀取資料庫中的變數。