当前位置: 主页 > PLC控制

WinCC、Connectivity Pack 连接数据库问题(补充2)

(1)我使用OLE-DB访问本地数据库,VBS使用的是@DatASourceNameRT访问数据库,不知怎么的报错,求解答啊,谢谢。
(2)wincc数据库的名称在哪里啊,本地的SQL2005工具我点击了下,看不见啊,求大神啊,现在看文档都说使用@DataSourceNameRT的变量访问最好,但是又报错。求帮助啊,谢谢
我是用的是WINCCFLEXIABLE2008
源代码

FunctionWinCCDataSourceAcess(connObj,pSQL)

‘建立到数据库的连接
‘读取本地的WinCC运行数据库名称
DimDatasourceNameRT,DataConnectionName

SetDatasourceNameRT=HMIRuntime.Tags("@DatasourceNameRT")
DatasourceNameRT=DatasourceNameRT.Read

‘定义数据库连接字符串
DimsPro,sDsn,sSer
sPro="Provider=WinCCOLEDBProvider.1;"
sDsn="Catalog="&DatasourceNameRT&";"
sSer="DataSource=.\WinCC"
DataConnectionName=sPro+sDsn+sSer

‘定义查询语句字符串
DimsSQL
sSQL=pSQL

‘建立连接
DimoRs,oCom,conn
Setconn=CreateObject("ADODB.Connection")
Setconn=connObj
conn.ConnectionSTring=DataConnectionName
conn.CursorLocation=3
conn.Open

‘创建查询的命令文本
SetoRs=CreateObject("ADODB.Recordset")
SetoCom=CreateObject("ADODB.Command")
oCom.CommandType=1
SetoCom.ActiveConnection=conn
oCom.CommandText=sSQL

‘执行查询
SetoRs=oCom.Execute

‘返回结果
SetWinCCDataSourceAccess=oRs

IfErr.Number<>0Then

‘MsgBox"errorCode"&Err.Number&"Source:"&Err.Source&"errordescription"&Err.Description
Err.Clear

EndIf

OnErrorGoTo0

EndFunction

图片说明:

WinCC、Connectivity Pack 连接数据库问题(补充2)WinCC、Connectivity Pack 连接数据库问题(补充2)

最佳答案

建议你将@DatasourceNameRT换成实际的数据库的名称,因为该变量是WINCC组态软件的内部系统变量,你的脚本在WINCC里面是可行,放在WINCCFLEXIABLE2008中,不一定能识别。
另外,我怎么觉得你写的脚本像是WINCC里面的脚本啊,不会弄差了吧??
建议参考一下以下资料:
htTP://support.automation.siemens.com/CN/llisapi.dllfunc=cslib.csinfo&lang=zh&objid=26283062&caller=view

提问者对于答案的评价:
虽然没解决问题,但是还有参考的价值

专家置评

答非所问!WINCCFLEXIABLE2008与winccv6/v7是完全不同的两个软件。
F0359SIMATICWinCC和SIMATICWinCCFlexible的区别
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0359

  • 关注微信

猜你喜欢

微信公众号