(1)我使用OLE-DB访问本地数据库,VBS使用的是@DataSourceNameRT访问数据库,不知怎么的报错,求解答啊,谢谢。
(2)WINCC数据库的名称在哪里啊,本地的SQL 2005工具我点击了下,看不见啊,求大神啊,现在看文档都说使用@DataSourceNameRT的变量访问最好,但是又报错。求帮助啊,谢谢
我是用的是 WINCC FLEXIABLE 2008
源代码
Function WinCCDataSourceAcess(connObj,pSQL)
'建立到数据库的连接
'读取本地的WinCC运行数据库名称
Dim DatasourceNameRT,DataConnectionName
Set DatasourceNameRT = HmiRuntime.Tags("@DatasourceNameRT")
DatasourceNameRT=DatasourceNameRT.Read
'定义数据库连接字符串
Dim sPro,sDsn, sSer
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=" & DatasourceNameRT & ";"
sSer = "Data Source=.\WinCC"
DataConnectionName = sPro + sDsn + sSer
' 定义查询语句字符串
Dim sSQL
sSQL=pSQL
'建立连接
Dim oRs,oCom,conn
Set conn = CreateObject("ADODB.Connection")
Set conn=connObj
conn.ConnectionString = DataConnectionName
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
'返回结果
Set WinCCDataSourceAccess=oRs
If Err.Number <> 0 Then
'MsgBox "error Code" & Err.Number & "Source:" & Err.Source & "error description" & Err.Description
Err.Clear
End If
On Error GoTo 0
End Function
图片说明:
最佳答案
建议你将@DatasourceNameRT换成实际的数据库的名称,因为该变量 是WINCC组态软件的内部系统变量,你的脚本在WINCC里面是可行,放在WINCC FLEXIABLE 2008 中,不一定能识别。
另外,我怎么觉得你写的脚本像是WINCC里面的脚本啊,不会弄差了吧??
建议 参考一下以下资料:
http://support.automation.siemens.com/CN/llisapi.dllfunc=cslib.csinfo&lang=zh&objid=26283062&caller=view
提问者对于答案的评价:
虽然没解决问题,但是还有参考的价值
专家置评
答非所问!WINCC FLEXIABLE 2008与wincc v6/v7是完全不同的两个软件。
F0359 SIMATIC WinCC和SIMATIC WinCC Flexible的区别
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0359
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc215641.html