【问题标题】:Executing a SQL Server stored procedure from a historian calculation从历史计算中执行 SQL Server 存储过程
【发布时间】:2016-07-07 11:08:07
【问题描述】:

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

我收到以下错误消息。

谁能帮忙?

【问题讨论】:

    标签: stored-procedures historian proficy


    【解决方案1】:

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

    当使用无参数函数时,您可以通过以下方式执行它: FunctionName 或者 FunctionName(),但是当你想将结果传递给一个变量时,你必须使用(),就像这样value = FunctionName()

    您正在使用没有() 的函数cmd.Execute,并将结果返回给value。只修线路 value = cmd.Executevalue = cmd.Execute()

    【讨论】:

      猜你喜欢
      • 2011-11-07
      • 2012-12-01
      • 2020-10-16
      • 2015-02-26
      • 2019-02-05
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多