fpc + oracle

Модератор: Модераторы

Сообщение ushakov » 18.05.2005 11:21:42

Не встречал ли кто библиотеки классов для работы с СУБД Oracle?

Использую компилятор в режиме совместимости с Delphi - не смог собрать пример работы с Oracle из примеров.
ushakov
новенький
 
Сообщения: 51
Зарегистрирован: 18.05.2005 11:15:48
Откуда: Украина, Киев

Сообщение Иван Шихалев » 18.05.2005 11:39:52

А на что ругается?
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение ushakov » 18.05.2005 12:04:12

Для удобства в отдельную директорию копирую файлы:
oraoci.pp
oraclew.pp
test01.pp

Далее пытаюсь собрать это все дело

#fpc test01.pp
Free Pascal Compiler version 1.9.8 [2005/02/20] for i386
Copyright © 1993-2005 by Florian Klaempfl
Target OS: Linux for i386
Compiling test01.pp
Compiling oraclew.pp
Compiling oraoci.pp
oraclew.pp(154,73) Error: Incompatible type for arg no. 4: Got "ShortInt", expected "PCardinal"
oraclew.pp(308,60) Error: Incompatible type for arg no. 4: Got "ShortInt", expected "PCardinal"
oraclew.pp(447) Fatal: There were 2 errors compiling module, stopping
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specifiy a source file to be compiled)
ushakov
новенький
 
Сообщения: 51
Зарегистрирован: 18.05.2005 11:15:48
Откуда: Украина, Киев

Сообщение Иван Шихалев » 18.05.2005 12:24:27

Жестоко... Ковырять надо.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение ushakov » 19.05.2005 13:24:09

Не знаю когда последний раз была предпринята попытка собрать пример (и пользуется ли кто-то модулем OraOCI вообще) :) для Oracle9i необходимо править модули:

В модуле oraoci.pp удалить следующие строки:

{$linklib common}
{$linklib core4}
{$linklib nlsrtl3}

В модуле oraclew.pp заменить во всех вызовах функции OCIAttrGet четвертый параметр с числовой константы на адрес переменной типа PCardinal.

После этих изменений можно задать в test01.pp login, password & SID, собрать его и запустить - должно работать.

Вообще не знаю что это за библиотеки common, core4, nlsrtl3 Может быть они уже в Oracle 8i не нужны были. Просмотрев несколько примеров на C/C++ и написав на C++ несколько своих программ не сталкивался с необходимостью использования каких-либо других библиотек, кроме clntsh
ushakov
новенький
 
Сообщения: 51
Зарегистрирован: 18.05.2005 11:15:48
Откуда: Украина, Киев


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru