Добрый день!
Вопрос такой - можно ли с помощью ADOCommand присоединиться к другой базе Oracle и вызвать хранимую процедуру? Процедура имеет два параметра - один типа IN, другои типа OUT. Я получаю ошибку "ORA-01008: not all variables bound"
CRM версия 3.1.1.53
Нравится
Там неуказанно как именно Кирилл это сделал, но, как я понял, я делаю тем же методом, но получаю эту ошибку.
код ADOCommand:
call "TestSP"(:USERID,:STATUSS)
код JavaScript:
var sp = Services.GetNewItemByUSI('acmd_TestSP'); sp.Parameters.ItemsByName('USERID').Value = 'username'; sp.Parameters.ItemsByName('STATUSS').Value = ''; sp.Execute(); var stat = sp.Parameters.ItemsByName('STATUSS');
Пытался реализовать и с ADOCommand и с ADODataset, не получается
Райвис, попробуйте написать так:
call "TestSP"(:pUSERID,:pSTATUSS)
Есть идеи как параметра правилЬно подать? А то у меня всё ещё не получается :/
Код процедуры
create or replace procedure "TestSP" (USERID in varchar2, STATUSS out varchar2) is begin if USERID = 'user1' then statuss := 'OK'; else statuss := 'NOK'; end if; end;
Пытался вызвать процедуру без OUT параметра, тоже не получается
Райвис, добрый день.
Описанная Вами проблема передана в департамент разработки продуктов для анализа. Будем сообщать о любой дополнительной информации по данной проблеме.
Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.
По Вашей проблеме зарегистрирован инцидент №061437.
Ответ добавлен в комментарии по Вашему обращению.
Terrasoft Support Team
Коллеги, приветствую!
Каким образом решилась данная проблема? У меня сейчас очень похожая возникла.
Вадим, какая у Вас сборка?
Конкретно данная проблема была решена, насколько я понял, в ядре в сборке 3.1.1.62
Во вложении примеры вызова.
Дмитрий, а зачем в тексте запроса "begin, end" и почему название процедуры в кавычках?
И ещё вопрос, обязательно ли название параметров начинать с префикса "p"?