Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[98.84.25.165] |
|
Сообщ.
#1
,
|
|
|
Если кто занает или уже встречался с подобной проблемой в Oracle 8 есть возможность хранить на Pl SQL некий текст (процедуру фукцию) в виде package может кто подскажет как до нее добраться из Delphi стандартные компоненты подразумевают только
доступ к харнимым процедурам. |
Сообщ.
#2
,
|
|
|
вкладка ADO насколько помниться.
ну и там по выбору ... например TADOCommand: ADOCommand_db->CommandText = "INSERT INTO SP_TITLE (TITLE_NUM, TITLE_NAME, TITLE_INPFL, TITLE_REQFL) VALUES (" + FormNewTitle->Edit1->Text + ", '" + FormNewTitle->Edit2->Text + "', " + i_inpfl + ", " + i_reqfl + ")"; try { ADOCommand_db->Execute(); } __except( true ) { Application->MessageBox("Mather fucker ...", NULL, MB_OK); } ну или в CommandText засунь типа: BEGIN PACKAGE1.ORA_PROC1(:param1, :param2); END ... ну как в PL/SQL пишеш - так и тут. и в TADOCommand->Parameters методами AddParameter and atc все пропиши. Потом есть либа компонентная DAO - Direct Oracle Access. Она напрямую с библиотекой ракла работает. но гибкость теряеш. Можно еще через TQuery и т.д. (BDE), но это дополнительная прослойка да и глючит она. да ... коннектится к раклу будеш через TADOConnection. там в параметрах укажеш то что прописал в tnsnames.ora ну и по желанию юзер/пассворд. ps: код билдеровский, старый но рабочий. в дельфю переписать - {} замени на begin end =) и т.д. |
Сообщ.
#3
,
|
|
|
поправка.
случайно просмотрел еще раз вопрос ... тебе нужно добраться до самого тела хранимой процедуры ? видно не так вопрос понял. Тогда через OCI функции. Например ... есть такая утилита TOAD. она как раз писалась на делфях ... ессно идет без сырцов ... да и кстати комерческая. Но писалась человеком видно не соображающим в низах винды, поэтому вся долбагеровская инфа оставлена и защита мяхко говоря остановит только тех, кто EAX от ESP (intel) отличить не могут. Поэтому все лехко раскапывается. Использовался там пакет DAO как раз. Его можно найти в сырцах. DAO напрямую через OCI функции работает с раклом. Через него и вытягивается в тоаде все тригера, процедуры... т.е. скрипты. Ищи в сети подобные пакеты или rtfm. почитай еще про Pro C/C++. И кстати если провести аналогию с MS SQL ... то там MS реализовала ряд COM объектов для доступа к своему серверу. Может и оракл пошел по такому пути (хотя не уверен). Не знаю ... под Win глубоко ракло и его клиента не програмил. такие дела. |