最近在做分布式客户机服务器模式下报表查询的时候,发现无法在客户端访问服务器的归档数据,但是在服务器上是可以读出数据来的。
具体情况是这样的,我在画面脚本中使用wincc oledb驱动访问归档数据,在服务器上或本机上可以正常读出数据,但在配置的客户机(分布式)上点了查询按钮就没有反应了,是有什么没有配置好吗,请指教!!
wincc版本6.2
代码如下:
Sub OnClick(ByVal Item)
Dim sPro,sDsn,sSer,sCon,sSql,oRs,sSql2
Dim conn,oCom
Dim m, n, s,i,temp
Dim objexcelapp
Dim day_choose,daystart,dayend,daybefore
Set day_choose=HMIRuntime.Tags("day_choose")
day_choose.Read
daystart=day_choose.Value
dayend=Left(DateAdd("d",+1,day_choose.Value),10)
daybefore=Left(DateAdd("d",-1,day_choose.Value),10)
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=CC_tanks_09_07_14_10_38_56R;"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
sSql = "Tag:R,(19;20;21;22;23;24;25;26;27),'"&daybefore&" 16:00:00','"&daystart&" 16:00:00'"
MsgBox "Open with:" & vbCr & sCon & vbCr & sSql2 & vbCr
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
n=oRs.RecordCount
MsgBox("共有 "&n&" 条记录")
最佳答案
sSer = "Data Source=.\WinCC"
就是访问本机的数据库啊,放到客户端无法查询时正常的。将.改为服务器的计算机名。
提问者对于答案的评价:
谢谢!!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272278.html