может водитель Оки для 11г (odbc5.jar) работа с 10г клиента?

StackOverflow https://stackoverflow.com/questions/1360840

Вопрос

Мне нужно подключиться к Oracle9, 10 и 11 в моем java-приложении.Клиент всегда будет присутствовать там, где будет запущено приложение, и я хочу, чтобы приложение просто работало с именем пользователя, паролем и экземпляром (указанным в tnsnames.ora).Следовательно, я хотел бы, чтобы драйверы oci имели строку подключения типа :jdbc:oracle:oci:@testora .Я использую драйвер:oracle.jdbc.драйвер.OracleDriver.У меня есть клиент 10g, и я использую jdk1.5.Когда я использую jar ojdbc14 из пути к клиентской библиотеке, приложение запускается.

Но если я использую драйвер ojdbc5, то приложение завершается с ошибкой Исключение в потоке "main" java.lang.UnsatisfiedLinkError:нет ocijdbc11 в java.библиотека.путь исключение.

То, что я ищу, - это способ упаковать один jar (ojdbc5 / ojdbc14) и один драйвер, который будет использовать драйверы oci для подключения к клиенту, который присутствует на локальном компьютере (9/10/11).Именно так я бы и предпочел.

Если это невозможно, могу ли я выполнить поиск в поле unix для версии oracle, выбрать правильный jar и затем использовать его в classpath при вызове приложения, которое находится в формате jar?

Спасибо, Упал

Это было полезно?

Решение

java.lang.Ошибка неудовлетворенной ссылки:нет ocijdbc11 в java.library.path

Это означает, что в пути к библиотеке Java отсутствует DLL (ocijdbc11.dll).Убедитесь, что у вас есть эта библиотека DLL, и запустите свою программу следующим образом:

java -Djava.library.path=C:\mydirwiththedll com.mypackage.MyProgram

Другие советы

ojdbc5.jar предназначен для работы с jdk1.5.x неважно, подключаетесь ли вы к Oracle 10 или 11g, ojdbc14.jar предназначался для jdk1.4.x

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top