Вниз
Скачать: CL | DM;

Вопрос по работе с ADOStoredProc для СУБД Oracle   Найти похожие ветки 

← →
Razrab7 ©   (2008-09-05 15:16) [0]

Добрый день!
Подсоединяюсь к Oracle через компоненты ADO - ADOConnection и ADOQuery. Попытался при помощи ADOStoredProc выполнить хранимую функцию FNC_OBH_RZ. Выдается ошибка: "FNC_OBH_RZ is not a procedure or is undefined". Выходит, что ADOStoredProc работает только с хранимыми процедурами? Вопрос: а каким образом тогда работать с хранимыми функциями?


← →
Ega23 ©   (2008-09-05 15:18) [1]

Уже почти 9 лет работаю с базами, но темин "хранимая функция" вижу впервые...


← →
Медвежонок Пятачок ©   (2008-09-05 15:24) [2]

select myfrunctionname from dual


← →
Razrab7 ©   (2008-09-05 15:25) [3]

Ega23

Разве функция, находящаяся в определенной схеме на сервере БД Oracle не является хранимой? Не знаю насчет самого термина, но не сомневаюсь, что ты понял о чем мой вопрос. :)
Так можно с функциями работать или нельзя? И если да, то как?


← →
Razrab7 ©   (2008-09-05 15:27) [4]

Медвежонок Пятачок

select myfrunctionname from dual

Ой-ёёё!!! Неужели все так просто? Туплю!


← →
Правильный$Вася   (2008-09-05 15:33) [5]


> Ega23 ©   (05.09.08 15:18) [1]

это то же самое, что ХП, только ее можно использовать в конструкции a:=b(x)
ну, и в оракле она таки create function xxx


← →
Razrab7 ©   (2008-09-05 15:44) [6]

Медвежонок Пятачок

А не, постой, не туплю! :) Дело в том, что в этой функции используются DML команды, а их нельзя из Select-а запускать, выдается ошибка. А жаль. :(


← →
Правильный$Вася   (2008-09-05 15:47) [7]


>  в этой функции используются DML команды, а их нельзя из
> Select-а запускать

можно заюзать автономную транзакцию, но там много геморроя с бумерангами


← →
Игорь Шевченко ©   (2008-09-05 15:49) [8]

begin
 :res := myfunc (:foo, :bar);
end;


← →
Razrab7 ©   (2008-09-05 15:54) [9]

Правильный$Вася

Не, в моем случае быстрее на процедуру с выходным параметром переписать. Но вопрос принципа - через ADOStoredProc выходит никак? Может тогда есть какие-то другие компоненты? Мало ли в будущем пригодится.


← →
Медвежонок Пятачок ©   (2008-09-05 15:58) [10]

Дело в том, что в этой функции используются DML команды,

тогда анонимный блок рисуй. если его конечно адо проглотит.


← →
Медвежонок Пятачок ©   (2008-09-05 15:59) [11]

. Но вопрос принципа - через ADOStoredProc выходит никак?

новая процедура-обертка вокруг функции.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.007 c
2-1238783224
Enum
2009-04-03 22:27
2009.05.17
Перехват события


2-1238675477
oleg_teacher
2009-04-02 16:31
2009.05.17
Регистр букв


4-1209915823
тимохов
2008-05-04 19:43
2009.05.17
InvalidateRect + потоки


15-1237194918
Cobalt
2009-03-16 12:15
2009.05.17
Работа со строками через asm - переносимость между версиями?


15-1237325403
Юрий
2009-03-18 00:30
2009.05.17
С днем рождения ! 18 марта 2009 среда




   Наверх