使用Historian 5.5和SQL Server 2012。
我在SQL Server中有一个名为perfEng_RWtopits
的存储过程,我想在Historian Administrator的计算标记中调用此过程。
存储过程返回一个float
值。
到目前为止,我有以下代码:
Dim sql
Dim con
Dim cmd
Dim value
sql = "perfEng_RWtopits"
Set con = CreateObject("ADODB.Connection")
con.ConnectionString = "myconnectionstring"
con.Open
Set cmd = CreateObject("ADODB.Command")
cmd.ActiveConnection = con
cmd.CommandText = sql
value = cmd.Execute
con.close
Set cmd = Nothing
Set con = Nothing
当我测试计算时,我得到零值和质量差。如果我在SQL Server中执行存储过程,我得到17.123554(这是正确的)。如果我将以下内容添加到最后。
Result = value
我收到以下错误消息。
有人可以帮忙吗?
答案 0 :(得分:1)
您的vb脚本中有错误。糟糕的是,我们无法在计算选项卡中的Historian Administrator中对其进行调试。
使用无参数函数时,您可以通过以下方式执行:
FunctionName
要么
FunctionName()
,但是当您想要将结果传递给变量时,您必须使用()
这样的value = FunctionName()
。
您使用的功能cmd.Execute
没有()
,并将结果返回到value
。只需修好线
value = cmd.Execute
至
value = cmd.Execute()