No ocijdbc19 in java library path

Maven, включая ocijdbc19 в java.library.path

Как включить заархивированный файл DLL в проект maven? И как мне указать, какую библиотеку DLL использовать в зависимости от работающей операционной системы (Windows/Linux)?

Я пытаюсь использовать ocijdbc19 в своем проекте maven. Его можно скачать здесь: https://www.oracle.com/database/technologies/instant-client/downloads.html

И он используется с этим драйвером (работает в Java 11):

 com.oracle.ojdbc ojdbc10 19.3.0.0  

Не существует ojdbc10 версии 19.6.0.0, поэтому мне пришлось понизить версию ocijdbc19 для соответствия.

Он упакован в виде zip-файла с DLL-файлом. Как мне включить его в свой проект, чтобы он работал в упакованном виде?

UnsatisfiedLinkError: no ocijdbc19 in java.library.path 

В java.library.path включает рабочий каталог ./ но именно там находится помпон.

Я пробовал добавить опцию JVM -Djava.library.path=».\lib» , но затем это полностью переопределяет исходное значение, и я получаю эту ошибку:

lib\ocijdbc19.dll: Can't find dependent libraries 

Другая проблема заключается в том, что я разрабатываю на машине Windows, но этот проект будет развернут на машине linux. Существуют отдельные версии ocijdbc19 для разных ОС. Конфигурация Maven должна переключаться между каждым пакетом.

Источник

Соединение с Oracle JDBC: нет ocijdbc9 в java.library.path

Я получаю ошибку ниже при попытке подключиться к базе данных оракула. Когда я просматриваю в Интернете, советую добавить требуемую банку в путь к классам, который я уже сделал. Я даже попытался создать конфигурацию запуска, добавил jar в classpath, все еще получая ту же ошибку. Пожалуйста помоги, Ошибка:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc9 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1028) at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:262) at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:346) at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at com.example.DAO1.main(DAO1.java:13) 
package com.example; import java.sql.*; import java.io.*; class DAO1 < public static void main(String args[]) throws SQLException, IOException < // Load the driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); // Connect to the database // You can put a database name after the @ sign in the connection URL. Connection conn = DriverManager.getConnection( "jdbc:oracle:oci8:@mydevdb:1521:mysandbox", "uname", "pwd"); System.out.println(conn); // Close the connection conn.close(); >> 

Источник

Читайте также:  Java e commerce framework

Ошибка “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

Источник

Читайте также:  Php file header information

Maven, включая ocijdbc19 в java.library.path

Как включить заархивированный файл DLL в проект maven? И как мне указать, какую библиотеку DLL использовать в зависимости от работающей операционной системы (Windows/Linux)?

Я пытаюсь использовать ocijdbc19 в своем проекте maven. Его можно скачать здесь: https://www.oracle.com/database/technologies/instant-client/downloads.html

И он используется с этим драйвером (работает в Java 11):

 com.oracle.ojdbc ojdbc10 19.3.0.0  

Не существует ojdbc10 версии 19.6.0.0, поэтому мне пришлось понизить версию ocijdbc19 для соответствия.

Он упакован в виде zip-файла с DLL-файлом. Как мне включить его в свой проект, чтобы он работал в упакованном виде?

UnsatisfiedLinkError: no ocijdbc19 in java.library.path 

В java.library.path включает рабочий каталог ./ но именно там находится помпон.

Я пробовал добавить опцию JVM -Djava.library.path=».\lib» , но затем это полностью переопределяет исходное значение, и я получаю эту ошибку:

lib\ocijdbc19.dll: Can't find dependent libraries 

Другая проблема заключается в том, что я разрабатываю на машине Windows, но этот проект будет развернут на машине linux. Существуют отдельные версии ocijdbc19 для разных ОС. Конфигурация Maven должна переключаться между каждым пакетом.

Источник

Блог

Ошибка Oracle — сбой: нет ocijdbc19 в java.library.path

#jdbc #oracle-sqldeveloper #java.library.path

#jdbc #oracle-sqldeveloper #java.library.path

Вопрос:

У меня компьютер со многими подключениями, все работает правильно. Я получил новый компьютер Win 10, я работаю через Cisco Any Connect из дома. Я устанавливаю SQL Developer 20.2 и 19.4 (ту же версию моего старого ПК), я импортирую свои соединения (около 15), только 2 соединения отправляют мне «Успех» во время теста, все остальные выдают мне эту ошибку:

Сбой: нет ocijdbc19 в java.library.path

Я также устанавливаю PostgreSQL jdbc, и сервер подключен правильно. Разница между двумя ПК заключается в том, что на моем старом ПК я также установил XE и некоторые драйверы odbc для использования с другими продуктами.

Читайте также:  Как переделать pdf в html

Комментарии:

1. что-то с вашим соединением настроено так, чтобы требовать клиента Oracle — отсюда и сообщение ocijdbc19. Покажите нам свои свойства подключения / убедитесь, что у вас не включен параметр «Использовать OCI» в дополнительных настройках, или установите клиент 19c и настройте параметры соответствующим образом.

2. Действительно. Настройка, должно быть, случайно или намеренно пытается использовать драйвер OCI. Почти нет веских причин делать это с приложением Java, хотя, возможно, это было еще во времена Oracle 9i. Если вы используете ojdbcXXX.jar Драйвер Java, обычно он не будет пытаться загрузить драйвер OCI.

3. Привет, Джефф и Кевин, ИТ-отдел не записывает моего пользователя / новый КОМПЬЮТЕР в группу, которая может использовать серверы, только эту глупость. Спасибо за помощь.

Источник

Оцените статью