1

Historian 5.5 と SQL Server 2012 を使用。

SQL Server で呼び出したストアド プロシージャがありperfEng_RWtopits、Historian Administrator の計算タグ内からこのプロシージャを呼び出したいと考えています。

ストアド プロシージャは 1 つの値を返し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

次のエラー メッセージが表示されます。

ヒストリアン エラー メッセージ

誰でも助けることができますか?

4

1 に答える 1

1

vb スクリプトにエラーがあります。残念なことに、Historian Administrator の計算タブでデバッグできません。

FunctionName パラメーターなしの関数を使用する場合は、 :または と記述して実行できますが FunctionName()、結果を変数に渡したい場合は、()このように使用する必要がありますvalue = FunctionName()

cmd.Executeなしで関数を使用し()、結果を に返していvalueます。value = cmd.Execute 行を 修正するだけです value = cmd.Execute()

于 2016-07-08T07:33:47.870 に答える