Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Вызов хранимой процедуры в ODAC   Найти похожие ветки 

 
lightix   (2004-05-27 10:35) [0]

Имеется в Oracle 8.1.7 хранимая процедура с параметрами, пытаюсь ее вызвать используя TOraStoredProc, указываю StoredProcName = kt.GET_FREE_TABN , после чего в свойствах автоматически появляются ее параметры и текст SQL для вызова
[code]
begin
 kt.GET_FREE_TABN(:DIAP, :KZ, :CEX, :NEW_TABN);
end;
[/code]
затем в программе пытаюсь передать в нее параметры и выполнить ее
[code]
StoredProc1->Params->ParamByName("DIAP")->Value=0;
StoredProc1->Params->ParamByName("KZ")->Value=P_KZ->KeyValue;
StoredProc1->Params->ParamByName("CEX")->Value=P_CEX->KeyValue;

StoredProc1->ExecProc();
[/code]

При выполнении данного кода на первой же строке вылетает ошибка "Параметр DIAP не найден", хотя если посмотреть StoredProc1->Params - то там все в порядке, все параметры на месте ...

Что я делаю неправильно?

PS Эта же процедура с тем же самым кодом для вызова абсолютно прекрасно функционирует с компонентами NCOCI8 TOCIStoredProc без какого либо шаманства - указал имя процедуры и все.


 
lightix   (2004-05-27 11:43) [1]

Народ, ну что никто не юзает этот ODAC и хранимые процедуры?


 
Sandman25+1   (2004-05-27 11:46) [2]

Попробуйте перед обращением посмотреть ParamCount.
Если все нормально, попробуйте посмотреть Params[0].Name.


 
Курдль ©   (2004-05-27 11:57) [3]

Не пользовал ODAC, но DAO требует либо установки свойств параметров в Variables-редакторе в design-time, либо явного указания типа переменной declareVariable(имя,тип)

А у ODAC нет режима DEBUG, как у DAO (когда конечный текст запроса с заполненными переменными перед отправкой на сервак показывается во всплывающем окошке?)


 
Курдль ©   (2004-05-27 11:58) [4]

Очепятка: DAO = DOA.


 
lightix   (2004-05-27 12:00) [5]

Опа, заработало ParamByName (причем не менял ничего) ...
Но теперь новая беда - при попытке выполнить его

StoredProc1->ExecProc();

Вылетает ошибка "ORA-06550": line2,column 6: PLS-00302: component "GET_FREE_TABN" must be declared
ORA-06550 : line2, column 3
PL/SQL: Statement ignored

Причем повторюсь, процедура рабочая абсолютно, и работает на той же форме в том же приложении если вызывать с помощью OCIStoredProc ....


 
slgeo ©   (2004-05-27 12:04) [6]

Попробуй нажать кнопку Execute в редакторе StoredProc


 
Курдль ©   (2004-05-27 12:08) [7]

А чего тебе сдалось ...StoredProc?
Вроде никаких out-параметров не принимаешь - так пользуй
...Query.Execute


 
lightix   (2004-05-27 12:49) [8]

в том то и дело что принимаю параметры ...


 
Val ©   (2004-05-27 16:53) [9]

то есть блок

begin
kt.GET_FREE_TABN(<param1>, <param2>, <param3>, <param4>);
end;

работает, если выполнять его в навигаторе, плюсе, и т.д?
kt - имя пакета? есть ли объявление процедуры в интерфейсной секции пакета?


 
Курдль ©   (2004-05-27 17:28) [10]


> работает, если выполнять его в навигаторе, плюсе, и т.д?
> kt - имя пакета? есть ли объявление процедуры в интерфейсной
> секции пакета?

"Тело без объявления"? Она бы не компилилась Ораклом.


 
Val ©   (2004-05-27 19:23) [11]

вы о чем, уважаемый?


 
lightix   (2004-06-01 13:28) [12]

kt - имя схемы.
процедура рабочая, без проблем работает с компонентами NCOCI и в плюсе уже год.
проблема именно в ODAC"e


 
Val ©   (2004-06-01 13:41) [13]

пробовали не указывать имя схемы?



Страницы: 1 вся ветка

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
14-1086903527
VID
2004-06-11 01:38
2004.06.27
ещё немного о webmoney


14-1086419577
able
2004-06-05 11:12
2004.06.27
Доступ к этому файлу из системы отсутствует :(


1-1087226281
Sveta
2004-06-14 19:18
2004.06.27
RXLIB


1-1086326286
Babay
2004-06-04 09:18
2004.06.27
Текст из Мемо в WebBrowser


1-1087277090
Salik
2004-06-15 09:24
2004.06.27
IncMonth на оборот?