«

»

Nov 24

Ошибка “no ocijdbc11 in java.library.path” и что с ней делать

sqldeveloper error window no-ocijdbc11-i-java-library-pathРеализации технологии JDBC для Oracle дает возможность java-программам обращаться к базе двумя методами:
Тонким клиентом (jdbc thin), по сути, представляющим собой реализацию протокола SQL* Net через TCP/IP на основе Java-сокетов.
Тонкому клиенту никакие клиентские библиотеки не нужны. Он платформо-независим и прекрасно себе может работать даже через java-аплеты в браузере.

Толстый клиент (jdbc oci) – для взаимодействия с базой использует интерфейс вызовов оракла (Oracle Call Interface) предоставляемый специальным OCI-драйвером, который должен быть установлен на клиентской машине. OCI-драйвер представляет собой набор библиотек, поставляемых вместе с клиентским или серверным ПО. Самый простой способ их найти – скачать Oracle instant client. Работать с базой данных через интерфейс OCI можно напрямую из java-программ используя все оракловые плюшки вроде ООП-биндингов через OCCI и т.п.

Если на клиенте – машине с которой не обходимо установить соединение с базой соответствующей версии OCI-драйвера нет – то сообщение об ошибке будет примерно таким: “no ocijdbc11 in java.library.path“. Если библиотека есть, но система не имеет ни малейшего представления о ней – читай как: “проверь свои переменные PATH!” – ошибка будет подобного же типа.

В ряде случаев требуемой версии oci драйвера просто нет в природе – с этим прискорбным фактом я столкнулся когда пытался завести на Маке распоследнюю версию SQLDevelopera. На момент написания последняя доступная версия клиентских библиотек для Mac Os – была 10.
Меж тем мучительно хотелось попасть в базу.

При работе с базой я обычно устанавливаю тип соединения TNS – при этом как раз и используются OCI-драйвер.
Для того чтобы соединение к базе было установлено достаточно изменить тип на Advanced и вручную указать строку вида:
jdbc:oracle:thin:@[HOST][:PORT]:SID

1 comment

  1. Oleg

    Thank you!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>