Oracle SQLDeveloper & ldquo; no ocijdbc12 в java.library.path & rdquo;

Я пытаюсь заставить Oracle SQL Developer работать в 16.04. Я последовал за ответом PhatHV на этот вопрос, и настольное приложение открывается отлично и отображается правильно, но когда я пытаюсь подключиться к базе данных (и я знаю, что это должно работать, потому что я подключен к той же базе данных в Windows), окно с ошибкой выскакивает

An error was encountered performing the requested operation: no ocijdbc12 in java.library.path Vendor code 0

Кто-нибудь знает, что вызывает эту ошибку и как ее исправить?

0
задан 24 May 2017 в 19:54

4 ответа

Для меня это работает, когда я устанавливаю переменную среды LD_LIBRARY_PATH в каталог Instant Client, делая это в файле /etc/ld.so.conf.d/oracle.conf, а запуск sudo ldconfig - нет.

0
ответ дан 18 July 2018 в 12:47

Хорошо, теперь мне удалось (с некоторой помощью) исправить эту проблему на двух отдельных компьютерах, но это было достаточно долго, что я не помню всего, что мы сделали, чтобы исправить это. Я включу, по крайней мере, то, что помню, и позже могу поправить этот ответ. Я не понимаю все под капотом, поэтому я извиняюсь, если есть ненужные шаги. Однако, как я упоминал в первоначальном вопросе, я последовал за другим ответом, данным PhatHV, и я не буду повторять здесь шаги, найденные там. Предполагается, что вы последовали его учебнику, прежде чем приходить сюда.

Установите Oracle Instant Client

Для SQL Developer версии 4.2.0 мне нужно было получить версию 12.2.0.1.0 из Мгновенный клиент. Вы можете скачать здесь. Выберите «Мгновенный клиент для Linux», который соответствует вашей архитектуре (у меня 64-разрядная машина, поэтому я открыл параметр x86-64. Загрузите следующие 5 файлов (заменяя номер версии и архитектуру, где это необходимо):

oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2- jdbc-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2-sqlplus-12.2.0.1.0- 1.x86-64.rpm

Если у вас его нет, вам нужно будет установить инструмент под названием alien:

sudo apt-get install alien

Перейдите в каталог загрузки (или где бы вы не сохранили файлы) и запустить sudo alien -i для каждого файла, чтобы установить его. Мы используем alien, потому что он сначала преобразует их в .deb перед их установкой. В качестве примечания, alien не создает

sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

Редактировать профиль и переменные окружения

Вы жжетесь, что это ничего не делает, но я обещаю, что это так. больной должен быть пользователем root для всех этих команд. Запустите sudo su для входа в систему как пользователь root.

Измените /etc/profile.d/oracle.sh, чтобы он содержал следующее:

export ORACLE_HOME=/usr/lib/oracle/12.2/client64 export TNS_ADMIN=/usr/lib/oracle/ora export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

Обратите внимание на номер версии в переменной ORACLE_HOME. Опять же, мой 12.2, но ваш может быть чем-то другим. Также часто устанавливается TNS_ADMIN=$ORACLE_HOME/ora, но я решил не делать так, чтобы мои .ora файлы не находились в зависимом от версии каталоге (например, 12.2).

Отредактируйте /etc/ld.so.conf.d/oracle.conf до

/usr/lib/oracle/12.2/client64/lib/

Снова обратите внимание на номер версии.

Наконец, в /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" JAVA_HOME="/usr/lib/jvm/default-java/" CLASSPATH=/usr/lib/jvm/default-java/lib:/usr/lib/jvm/default-java/include:/usr/lib/oracle/12.2/client64/lib

Как только вы закончите редактировать все эти файлы , запустите

ldconfig source /etc/profile.d/oracle.sh source /etc/environment

Нажмите <Ctrl> + D или введите exit, чтобы вернуться к обычным пользователям.

Добавить как сторонний драйвер

I не знаю, нужен ли этот шаг строго, но он работает на моем компьютере. Если вы откроете SQL Developer, вы можете перейти к Tools -> Preferences -> Database -> Third Party JDBC Drivers и нажать Add Entry. Откройте /usr/lib/oracle/12.2/client64 и нажмите lib. Он будет высвечивать его, а затем вы можете щелкнуть select, чтобы добавить его в список.

После этого шага вам нужно будет закрыть и повторно открыть SQL Developer. Как только вы все это сделали, надеюсь, вы больше не получите ошибок.

0
ответ дан 18 July 2018 в 12:47

Для меня это работает, когда я устанавливаю переменную среды LD_LIBRARY_PATH в каталог Instant Client, делая это в файле /etc/ld.so.conf.d/oracle.conf, а запуск sudo ldconfig - нет.

0
ответ дан 24 July 2018 в 20:02

Хорошо, теперь мне удалось (с некоторой помощью) исправить эту проблему на двух отдельных компьютерах, но это было достаточно долго, что я не помню всего, что мы сделали, чтобы исправить это. Я включу, по крайней мере, то, что помню, и позже могу поправить этот ответ. Я не понимаю все под капотом, поэтому я извиняюсь, если есть ненужные шаги. Однако, как я упоминал в первоначальном вопросе, я последовал за другим ответом, данным PhatHV, и я не буду повторять здесь шаги, найденные там. Предполагается, что вы последовали его учебнику, прежде чем приходить сюда.

Установите Oracle Instant Client

Для SQL Developer версии 4.2.0 мне нужно было получить версию 12.2.0.1.0 из Мгновенный клиент. Вы можете скачать здесь. Выберите «Мгновенный клиент для Linux», который соответствует вашей архитектуре (у меня 64-разрядная машина, поэтому я открыл параметр x86-64. Загрузите следующие 5 файлов (заменяя номер версии и архитектуру, где это необходимо):

oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2- jdbc-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm oracle-instantclient12.2-sqlplus-12.2.0.1.0- 1.x86-64.rpm

Если у вас его нет, вам нужно будет установить инструмент под названием alien:

sudo apt-get install alien

Перейдите в каталог загрузки (или где бы вы не сохранили файлы) и запустить sudo alien -i для каждого файла, чтобы установить его. Мы используем alien, потому что он сначала преобразует их в .deb перед их установкой. В качестве примечания, alien не создает

sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm

Редактировать профиль и переменные окружения

Вы жжетесь, что это ничего не делает, но я обещаю, что это так. больной должен быть пользователем root для всех этих команд. Запустите sudo su для входа в систему как пользователь root.

Измените /etc/profile.d/oracle.sh, чтобы он содержал следующее:

export ORACLE_HOME=/usr/lib/oracle/12.2/client64 export TNS_ADMIN=/usr/lib/oracle/ora export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

Обратите внимание на номер версии в переменной ORACLE_HOME. Опять же, мой 12.2, но ваш может быть чем-то другим. Также часто устанавливается TNS_ADMIN=$ORACLE_HOME/ora, но я решил не делать так, чтобы мои .ora файлы не находились в зависимом от версии каталоге (например, 12.2).

Отредактируйте /etc/ld.so.conf.d/oracle.conf до

/usr/lib/oracle/12.2/client64/lib/

Снова обратите внимание на номер версии.

Наконец, в /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" JAVA_HOME="/usr/lib/jvm/default-java/" CLASSPATH=/usr/lib/jvm/default-java/lib:/usr/lib/jvm/default-java/include:/usr/lib/oracle/12.2/client64/lib

Как только вы закончите редактировать все эти файлы , запустите

ldconfig source /etc/profile.d/oracle.sh source /etc/environment

Нажмите <Ctrl> + D или введите exit, чтобы вернуться к обычным пользователям.

Добавить как сторонний драйвер

I не знаю, нужен ли этот шаг строго, но он работает на моем компьютере. Если вы откроете SQL Developer, вы можете перейти к Tools -> Preferences -> Database -> Third Party JDBC Drivers и нажать Add Entry. Откройте /usr/lib/oracle/12.2/client64 и нажмите lib. Он будет высвечивать его, а затем вы можете щелкнуть select, чтобы добавить его в список.

После этого шага вам нужно будет закрыть и повторно открыть SQL Developer. Как только вы все это сделали, надеюсь, вы больше не получите ошибок.

0
ответ дан 24 July 2018 в 20:02

Другие вопросы по тегам:

Похожие вопросы: