Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Вниз

Вызов хранимой процедуры в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
8-1081928197
Olsher
2004-04-14 11:36
2004.06.27
Время проигрывания MP3-файла???


4-1084938534
HellWaiter
2004-05-19 07:48
2004.06.27
Список дисков


3-1085940173
Valera
2004-05-30 22:02
2004.06.27
БД подключение справочника


1-1087242497
lena19
2004-06-14 23:48
2004.06.27
чем заменить s:=chr(1)+chr(1).....+chr(1)


14-1085952878
parovoZZ
2004-05-31 01:34
2004.06.27
Сайт Рустика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский