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

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

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

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

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

Спасибо, Фелл


person Fell    schedule 01.09.2009    source источник


Ответы (2)


java.lang.UnsatisfiedLinkError: нет ocijdbc11 в java.library.path

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

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

person Jesper    schedule 01.09.2009
comment
я работаю со средой unix и попытался установить java.library.path в местоположение LD_LIBRARY_PATH... Однако теперь я получаю следующую ошибку ссылки: не удается загрузить 64-разрядную версию Sparc v9 .so на 32-разрядной платформе Sparc. Как я могу это исправить? - person Fell; 01.09.2009
comment
моя машина Solaris 64-битная, и я использую jdk1.5 - person Fell; 01.09.2009
comment
@Jesper, у меня похожая проблема в этом сообщении stackoverflow.com/questions/19223416/, и я не могу понять это, пожалуйста, сообщите. - person Mahmoud Saleh; 08.10.2013

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

person divi    schedule 14.12.2009