Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вызывать хранимые функции Oracle через ADO [D5, Oracle]


alex_R ©   (2002-10-15 15:27:00) 

Народ, подскажите, pls. Весь измучился. Решил проект перевести c BDE на ADO. В результате не могу вызвать не одной хранимой функции Oracle....
Как только не извращался, и дравера менял (ODBC и OLE DB)и пачи ставил. Неужели нельзя вызвать хранимую процедуру Oracle из TADOStoredProc?

Самый последний путь это написать вызов процедуры в TADOQuery
типа select testfunct(1, "Y", 2) from dual.
Но это уже полный изврат. Лучше обратно в BDE....


Alex_R   (2002-10-16 19:54:00) [1]

2 roottim
Thanks в следующий раз наверно так и сделаю

Вообще-то проект будет работать через OLE DB это достаточно быстро. ODBC пользуется только в дизайн тайм чтобы правильно добавлять параметры хранимых функций. Именно с функциями оракла и были связаны все проблемы.
Вообще, как выяснилось Oraclовские ODBC и OLE DB драйвера кривоваты.


roottim   (2002-10-16 08:45:00) [2]

мда! хороший обмен!
BDE vs ODBC
а вообще совет.. установи ODAC и смигрируй компоненты с БДЕ с помощью визарда..
останется минимально подкорректировать проект


Alex_R   (2002-10-15 19:27:00) [3]

2Sergeyy
Спасибо конечно, но ты бы вопрос почитал повнимательней

После очередной скачки самых новых оракловских ODBC драйверов все зажило.:))


Sergeyy   (2002-10-15 18:06:00) [4]

А у тебя только с хранимыми процедурами проблемы? То есть таблички, вьюшки ты видишь через ADO?
Если так, то с хранимыми процедурами тоже не должно быть никаких проблем. На это уйдет пара минут. Кидаешь ADOConnection, настраиваешь. Потом ADOStoredProc. Только здесь напиши сначала в свойствах имя процедуры ("ProcedureName") вручную, а потом уже заполняй поле "Connection", а то замучаешься ждать, пока она из словаря все твои процедуры прочитает. Можно вызвать процедуру и из пакета через обычную точечную нотацию. А вот функцию я бы рекомендовал вызывать в ADODataSet или ADOQuery через "select MyFun(MyArgs) from dual".
И еще - подумай об использовании Direct Oracle Access. Очень приятная штука. Хотя иногда ADO всё же лучше.


Наверх

Титульная страница Поиск, карта сайта Написать письмо