Pregunta

Necesito conectar a Oracle9,10 y 11 en mi java aplicación.No cliente siempre estará presente en la que se ejecuta la aplicación y quiero que la aplicación únicamente funciona con nombre de usuario, contraseña y la instancia (especificado en tnsnames.ora ) .Hence me gustaría conductores oci con una cadena de conexión de tipo: jdbc: oracle: oci: @testora .Im utilizando el controlador: oracle.jdbc.driver.OracleDriver. Tengo un cliente 10g y estoy usando jdk1.5. Cuando utilizo el frasco ojdbc14 desde el cliente camino lib la aplicación se ejecuta.

Pero si uso el conductor ojdbc5 continuación, la aplicación falla con Excepción en hilo java.lang.UnsatisfiedLinkError "principal": no ocijdbc11 en Java. library.path excepción.

Lo que estoy buscando es una manera de empaquetar un solo frasco (ojdbc5 / ojdbc14) y un único controlador que utilizar controladores OCI para conectar con el cliente que está presente en la máquina local (9/10/11) .Esta se la forma en que yo preferiría a él.

Si esto no es posible, se puede buscar en el cuadro de UNIX para la versión de Oracle, recoger el frasco correcto y luego usarlo en la ruta de clase cuando se invoca la aplicación que está en formato frasco?

Gracias, Fell

¿Fue útil?

Solución

  

java.lang.UnsatisfiedLinkError: no ocijdbc11 en java.library.path

Esto significa que se echa en falta una DLL (ocijdbc11.dll) en la ruta de la biblioteca de Java. Asegúrate de que tienes esa DLL y comenzar su programa como este:

  

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

Otros consejos

ojdbc5.jar tiene la intención de trabajar con jdk1.5.x ya sea que se está conectando a Oracle 11g o 10 no debe importar, ojdbc14.jar estaba destinado a jdk1.4.x

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top