sPro = "Provider=WinCCOLEDBProvider.1;" '//定义服务提供者
sDsn = "Catalog=CC_fang_09_06_11_17_08_12R;"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
sSql = "TAG:R,'ProcessValueArchive\11','0000-00-00 00:00:00', '0000-00-00 00:00:00'"
Set conn = reateObject"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
If conn.state = 0 Then
MsgBox "数据库连接不成功,可能是WINCC生产监控系统程序未激活,请先激活监控系统", vbOKCancel, "数据库连接错误"
conn.Close
Exit Sub
End If
oCom.CommandText = sSql
Set oRs = oCom.Execute
一开始程序可以运行,vb可以读取上历史数据库的值,可是重新装了系统,wincc和sql2000后,就读取不上数值来了。
激活wincc项目后,运行vb,vb就报错"-2147217865(80040e37) invalid object name "dbo.archive" "
然后调试,错误就显示在 Set oRs = oCom.Execute 这里
另外,怎么wincc原来的项目文件中有些汉字也显示不出来了呢,只显示????,怎末回事啊?用户归档也只能用德语显示,重新装了真郁闷!!是不是软件的问题啊?
请高手帮帮忙!谢谢
问题补充:
1.原程序中的create指令是正确的,往这里粘贴时没粘贴上
2 数据库名称已改正过来
最佳答案
Set conn = reateObject"ADODB.Connection")
这里是否是笔误呀?SET CONN= Createobject(....),Createobject少个字母C?
提问者对于答案的评价:
问题已经解决,谢谢阿!
虽然问题不出在这里,但是谢谢你能如此细心的帮我!谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc273253.html