Выполнение хранимой процедуры 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
Я получаю следующее сообщение об ошибке.
Кто-нибудь может помочь?
1 ответ
У вас есть ошибка в вашем скрипте VB. К сожалению, мы не можем отладить это в Historian Administrator на вкладке расчета.
При использовании функции без параметров вы можете выполнить ее, написав:FunctionName
или же FunctionName()
, но если вы хотите передать результат в переменную, вы должны использовать ()
как это value = FunctionName()
,
Вы используете функцию cmd.Execute
без ()
и вернуть результат value
, Просто исправь линию value = cmd.Execute
вvalue = cmd.Execute()