может водитель Оки для 11г (odbc5.jar) работа с 10г клиента?
Вопрос
Мне нужно подключиться к 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