From: Роман Сотников <roman.sotnikov@gmail.com.>
Newsgroups: email
Date: Mon, 12 Oct 2008 17:02:14 +0000 (UTC)
Subject: Установка DBD:racle на Perl5 RHEL4-U4-x86_64-AS
-------------------
Потребовалось мне установить DBD:racle для Perl5 на RedHat RHEL4-U4-x86_64-AS.
Пришлось несколько раз присесть, и в итоге хочу поделиться опытом.
Первое что надо было поставить это клиент Oracle. Мы поставили Oracle 9i
вот в такой конфигурации:
Перед запуском runInstaller надо выполнить команду
Для того чтобы работал DBD:racle, необходимо поставить DBI. Я взял со cpan.org вот это
DBI-1.607.
После этого ставим, я делал под рутом:
perl Makefile.PL
make
make test
make install
Все встало без проблем.
После этого ставим DBD:racle, так же под рутом, вот тут-то проблемы и начались:
Первое что надо сделать, это добавить в профиль пользователя переменные окружения:
В .bash_profile добавляем:
После этого я пытался ставить DBD-Oracle-1.22. Он вставать отказался.
При сборке вылетала ошибка:
Oracle.h:115: error: conflicting types for 'OCIXMLTypeCreateFromSrc'
Oracle.h:115: note: an argument type that has a default promotion can't match an empty parameter name list declaration
/u01/app/oracle/product/9.2.0/rdbms/demo/ociap.h:10054: error: previous declaration of 'OCIXMLTypeCreateFromSrc' was here
Oracle.h:115: error: conflicting types for 'OCIXMLTypeCreateFromSrc'
Oracle.h:115: note: an argument type that has a default promotion can't match an empty parameter name list declaration
/u01/app/oracle/product/9.2.0/rdbms/demo/ociap.h:10054: error: previous declaration of 'OCIXMLTypeCreateFromSrc' was here
make: *** [Oracle.o] Error 1
Я написал письмо в mailing list dbi-users at perl.org
Там посоветовали попробовать поставить другую версию DBD:racle.
Я попытался поставить DBD:racle 1.20 - безуспешно.
Встала только версия DBD:racle 1.19.
Ставил вот так:
perl Makefile.PL -p
make
make test
make install
После этого надо дать права на чтение-запуск на директорию /u01/app/oracle (путь может отличаться)
Я сделал так:
chmod -R 774 oracle
При этом пользователь от имени которого запускаются скрипты, входит в группу dba.
После этого выполнил простейший скрипт:
ora.pl