Pergunta

Eu preciso me conectar ao Oracle9,10 e 11 no meu aplicativo Java. O cliente sempre estará presente onde o aplicativo será executado e eu quero que o aplicativo trabalhe apenas com nome de usuário, senha e instância (especificado em tnsnames.ora). Portanto, Eu gostaria de drivers OCI com uma sequência de conexão do tipo: JDBC: Oracle: OCI: @Testora .im usando o driver: oracle.jdbc.driver.oracledriver. Eu tenho um cliente 10G e estou usando o JDK1.5. Quando eu uso o jar OJDBC14 do cliente Lib Path, o aplicativo é executado.

Mas se eu usar o driver OJDBC5, o aplicativo falhará com a exceção no thread "main" java.lang.unsatisfiedlinkError: sem ocijdbc11 em java. Exceção da biblioteca.Path.

O que estou procurando é uma maneira de empacotar uma única jarra (ojdbc5/ojdbc14) e um único driver que usará drivers de OCI para se conectar ao cliente que está presente na máquina local (9/10/11). Essa é a maneira como eu preferiria isso.

Se isso não for possível, posso pesquisar na caixa UNIX pela versão Oracle, pegue o frasco correto e depois usá -lo no ClassPath ao invocar o aplicativo que está no formato JAR?

Obrigado, caiu

Foi útil?

Solução

java.lang.unsatisfiedlinkerror: sem ocijdbc11 em java.library.path

Isso significa que você está perdendo uma DLL (OCIJDBC11.DLL) no caminho da biblioteca Java. Certifique -se de ter essa DLL e inicie seu programa como este:

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

Outras dicas

OJDBC5.JAR deve trabalhar com JDK1.5.x ou você está se conectando ao Oracle 10 ou 11g não deve importar, ojdbc14.jar foi destinado a JDK1.4.x

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top