1

使用 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

我收到以下错误消息。

Historian 错误消息

任何人都可以帮忙吗?

4

1 回答 1

1

您的 vb 脚本中有错误。糟糕的是,我们无法在 Historian Administrator 中的计算选项卡中进行调试。

使用无参数函数时,您可以通过编写: FunctionName 或 来执行它FunctionName(),但是当您想将结果传递给变量时,您必须()像这样使用value = FunctionName()

您正在使用cmd.Execute没有的函数()并将结果返回到value. 只需将线路固定 value = cmd.Executevalue = cmd.Execute()

于 2016-07-08T07:33:47.870 回答