Конференция "Базы" » Вопрос по работе с ADOStoredProc для СУБД Oracle
 
  • Razrab7 © (05.09.08 15:16) [0]
    Добрый день!
    Подсоединяюсь к Oracle через компоненты ADO - ADOConnection и ADOQuery. Попытался при помощи ADOStoredProc выполнить хранимую функцию FNC_OBH_RZ. Выдается ошибка: "FNC_OBH_RZ is not a procedure or is undefined". Выходит, что ADOStoredProc работает только с хранимыми процедурами? Вопрос: а каким образом тогда работать с хранимыми функциями?
  • Ega23 © (05.09.08 15:18) [1]
    Уже почти 9 лет работаю с базами, но темин "хранимая функция" вижу впервые...
  • Медвежонок Пятачок © (05.09.08 15:24) [2]
    select myfrunctionname from dual
  • Razrab7 © (05.09.08 15:25) [3]
    Ega23

    Разве функция, находящаяся в определенной схеме на сервере БД Oracle не является хранимой? Не знаю насчет самого термина, но не сомневаюсь, что ты понял о чем мой вопрос. :)
    Так можно с функциями работать или нельзя? И если да, то как?
  • Razrab7 © (05.09.08 15:27) [4]
    Медвежонок Пятачок

    select myfrunctionname from dual



    Ой-ёёё!!! Неужели все так просто? Туплю!
  • Правильный$Вася (05.09.08 15:33) [5]

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

    это то же самое, что ХП, только ее можно использовать в конструкции a:=b(x)
    ну, и в оракле она таки create function xxx
  • Razrab7 © (05.09.08 15:44) [6]
    Медвежонок Пятачок

    А не, постой, не туплю! :) Дело в том, что в этой функции используются DML команды, а их нельзя из Select-а запускать, выдается ошибка. А жаль. :(
  • Правильный$Вася (05.09.08 15:47) [7]

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

    можно заюзать автономную транзакцию, но там много геморроя с бумерангами
  • Игорь Шевченко © (05.09.08 15:49) [8]
    begin
     :res := myfunc (:foo, :bar);
    end;
  • Razrab7 © (05.09.08 15:54) [9]
    Правильный$Вася

    Не, в моем случае быстрее на процедуру с выходным параметром переписать. Но вопрос принципа - через ADOStoredProc выходит никак? Может тогда есть какие-то другие компоненты? Мало ли в будущем пригодится.
  • Медвежонок Пятачок © (05.09.08 15:58) [10]
    Дело в том, что в этой функции используются DML команды,

    тогда анонимный блок рисуй. если его конечно адо проглотит.
  • Медвежонок Пятачок © (05.09.08 15:59) [11]
    . Но вопрос принципа - через ADOStoredProc выходит никак?

    новая процедура-обертка вокруг функции.
 
Конференция "Базы" » Вопрос по работе с ADOStoredProc для СУБД Oracle
Есть новые Нет новых   [134435   +34][b:0][p:0.001]