Oracle SQLDeveloper “№ ocijdbc12 в java.library.path”

Я пытаюсь заставить Oracle Разработчик SQL работать в 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 в 09:54

2 ответа

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

0
ответ дан 3 November 2019 в 04:48

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

Установите моментальный клиент Oracle

Для версии 4.2.0 Разработчика SQL я должен был получить версию 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

Перейдите к своему каталогу Downloads (или везде, где Вы сохранили файлы), и работать 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 входить в систему как корень.

Править /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 вернуться обычному пользователю.

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

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

После этого шага необходимо будет закрыть и вновь открыть Разработчика SQL. После того как Вы сделали все это, надо надеяться, Вы не будете больше получать ошибки.

0
ответ дан 3 November 2019 в 04:48

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

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