Perl Ora2Pg в Ubuntu - PullRequest
       3

Perl Ora2Pg в Ubuntu

0 голосов
/ 12 сентября 2009

Я только что попробовал Ora2Pg на своем Ubuntu Jaunty Jackalope.

Прежде всего, установка была трудной, но после загрузки нескольких дабов и RPM здесь и там, мне наконец удалось установить ora2pg через synaptic.

Однако, когда я пытаюсь запустить эту команду

ora2pg /tmp/ora2pg.conf

Я получаю

install_driver (Oracle) завершился неудачно: не удалось загрузить '/usr/lib/perl5/auto/DBD/Oracle/Oracle.so' для модуля DBD :: Oracle: libclntsh.so.10.1: не удалось открыть файл общего объекта: Нет такого файла или каталога в /usr/lib/perl/5.10/DynaLoader.pm строка 196.

в строке (eval 14) 3

Сбой компиляции в требовании в (eval 14) строке 3.

Возможно, необходимая общая библиотека или dll не установлена ​​там, где ожидается

на /usr/share/perl5/Ora2Pg.pm строка 566

Есть идеи что не так и как это исправить?

Примечание: я не перл. Я просто начал просматривать его из-за этого.

Ответы [ 2 ]

1 голос
/ 08 ноября 2016

Это правильная последовательность установки:

apt-get install libdbi-perl
apt-get install alien dpkg-dev debhelper build-essential
apt-get install libaio1
apt-get install make
apt-get install alien
apt-get install rpm
apt-get install libpq-dev

скачать DBD-Oracle-1.74 или последнюю версию
скачать DBD-Pg-3.5.3 или последнюю версию
скачать DBI-1.636 или последнюю версию
скачать ora2pg-17.5 или последнюю версию
скачать oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
скачать oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
скачать oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

после извлечения пакета rpm и установки:

alien oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm 
alien oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
dpkg -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.deb
dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb
dpkg -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.deb

, то:

export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib 

путь установки клиента oracle

export ORACLE_HOME=/usr/lib/oracle/12.1/client64/

затем установите расширение perl для Oracle и Postgres

cd  DBI-1.636
perl Makefile.PL
make && makeinstall

cd DBD-Oracle-1.74 o DBD-Oracle-1.64
perl Makefile.PL
make && makeinstall

cd DBD-Pg-3.5.3
perl Makefile.PL
make && makeinstall

и, наконец, установите

cd ora2pg-17.x
perl Makefile.PL
make && makeinstall

проверка правильности версии

ora2pg -v

и последняя настройка ora2pg.conf на /etc/ora2pg/

вставить в файл конфигурацию для подключения к Oracle и Postgres.

1 голос
/ 13 сентября 2009

DBD::Oracle не удается найти клиентские библиотеки Oracle, поскольку они не находятся в пути к вашей библиотеке. Если у вас нет клиентских библиотек Oracle и у вас нет системного администратора, который предоставил бы их вам, вам необходимо получить пакет «Oracle Instantclient» с веб-сайта Oracle и установить его. Если у вас уже установлен Instantclient, вам нужно добавить его каталог lib (что-то вроде /usr/lib/oracle/instantclient/lib или /opt/ora/instantclient10_1/lib) в путь к вашей библиотеке - либо добавив строку в /etc/ld.so.conf и запустив ldconfig от имени пользователя root или установив переменную окружения LD_LIBRARY_PATH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...