我在wincc中归档的数据怎么保存在数据库SQL中,怎么实现查询功能,哪有教程吗?谢谢,。
最佳答案
首先需要能够查询到归档数据,然后才能保存到SQL数据库中
这里有一个典型的访问归档数据库的代码供参考,在该段代码中的provider值是专门访问winCC归档数据库的provider,只需照搬即可。需要修改的是数据库名和查询条件
'''' 1.1 Make connection string for ADODB as indicated below
''''"Provider=WinCCOLEDBProvider.1;Catalog=CC_V6_Demo3_03_02_04_16_19_15R;Data Source=.\WinCC"
'''' 1.2 Define command text in sSql for WinCC compressed archives, relative time
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=" + sDsn + ";"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
nRec = NMAX
'''' "TAG:R,1,''''0000-00-00 00:05:00.000'''',''''0000-00-00 00:00:00.000''''"
lRet = MsgBox("Opened with " & vbCr & sCon & vbCr & sSql & vbCr, vbOKCancel)
If lRet <> 1 Then Exit Sub
'''' 2.1 Make connection
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = adUseClient '''' 3
conn.Open
'''' 2.2 Use command text for query
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1 '''' adCmdText = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = sSql
'''' 2.3 Fill the recordset
On Error Resume Next ''''Fehlerbehandlung - error handling
Set oRs = oCom.Execute
式中的sSql有以下方式可供参考:
''''Sql=TAG:R,104,''''0000-00-00 00:05:00.000'''',''''0000-00-00 00:00:00.000''''
''''Sql=TAG:R,''''MARCHIVE\T01'''',''''0000-00-00 01:00:00.000'''',''''0000-00-00 00:00:00.000''''
''''Sql=TAG:R,''''MARCHIVE\T01'''',''''0000-00-00 01:00:00.000'''',''''2008-4-8 08:10:20''''
式中的“CC_V6_Demo3_03_02_04_16_19_15R”是你的winCC应用程序所使用的数据库,可用你的winCC应用程序数据库代替。用sqlserver 2000 数据库管理器就可看到该数据库
提问者对于答案的评价:
thanks
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277430.html