Выполнение хранимой процедуры SQL Server из вычисления историка

Использование 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

Кто-нибудь может помочь?

1 ответ

Решение

У вас есть ошибка в вашем скрипте VB. К сожалению, мы не можем отладить это в Historian Administrator на вкладке расчета.

При использовании функции без параметров вы можете выполнить ее, написав:FunctionNameили же FunctionName(), но если вы хотите передать результат в переменную, вы должны использовать () как это value = FunctionName(),

Вы используете функцию cmd.Execute без () и вернуть результат value, Просто исправь линию value = cmd.Executeвvalue = cmd.Execute()

Другие вопросы по тегам