WEB客户机用光盘,向导安装了"连通性软件包客户端"(选择软件包时一些附属组件也自动装上了,包括SMATIC NET组件),WINCC服务器和WEB客户端都是WINDOWS XP Professional SP3以下代码是查询归档变量的片段,在本地执行完全正常,在WEB客户机上最后弹窗“msgbox "begin execute"”,Set oRs = oCom.Execute这条语句没有执行,请高手赐教。
'创建数据库连接''''''''''''''''''''
sDsn = HMIRuntime.Tags("@DatasourceNameRT").Read
sSer = HMIRuntime.Tags("@ServerName").Read
sSql = "Tag:R,'ProcessValueArchive" & ScreenItems("组合框_企业选择").SelIndex & "\" & ScreenItems("组合框_水系选择").SelIndex & "','" & StartDateTimeUtc & "','" & EndDateTimeUtc & "'"
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=" + sDsn + ";"
sSer = "Data Source=" + sSer + "\WinCC"
sCon = sPro + sDsn + sSer
MsgBox ssql
MsgBox scon
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open
MsgBox "open end"
Set oRs = CreateObject("ADODB.Recordset")
MsgBox 1
Set oCom = CreateObject("ADODB.Command")
MsgBox 2
oCom.CommandType = 1
MsgBox 3
Set oCom.ActiveConnection = conn
MsgBox 4
oCom.CommandText = sSql
msgbox "begin execute"
Set oRs = oCom.Execute
'''''''''''''''''''''''''''''''''''
MsgBox "execute end"
目的就是要通过WEB客户端查询WINCC服务器的归档变量,显示在一个表格里。
问题补充:
WEB客户端没有安装WINCC,但是安装了connectivity pack 客户机。本地打开WEB客户端也正常,在另一台电脑上打开则不行。版本是WINCC 7.0 SP1 ASIA
测试过,如果没有安装connectivity pack ,只能执行到“conn.Open”。
最佳答案
这个应该是计算机名解析有问题,你可以试试看在客户机上通过\\计算机名来访问一下。
可通过手动修改C:\WINDOWS\system32\drivers\etc文件夹内的hosts和lmhosts文件使计算机名和IP对应。
或者直接将客户机网卡的DNS设置为WinCC服务器的IP。
如果实在不行,就将sSer 换成计算机的IP地址。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc267464.html