Главная страница
    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.032 c
9-1078412723
AlexXn
2004-03-04 18:05
2004.06.27
Перемещение Image


1-1087106612
Воланд
2004-06-13 10:03
2004.06.27
Проблема с Мемо! в Lines не сохраняется информация


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


10-1013876230
nikols
2002-02-22 12:16
2004.06.27
Name service в VisiBroker?


14-1086891993
Knight
2004-06-10 22:26
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский