2009-05-15 6 views
0

J'essaie d'exécuter des tests JUnit qui se connectent à une base de données Oracle et si une tentative de connexion est effectuée. L'erreur suivante est renvoyée:UnsatisifiedLinkError avec ojdbc14.jar

 
oracle/jdbc/driver/T2CConnection.t2cGetCharSet([CI[CI[CII[SLoracle/jdbc/driver/GetCharSetError;)S 
at oracle.jdbc.driver.T2CConnection.getCharSetIds(T2CConnection.java:2801) 
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:300) 
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:344) 
at oracle.jdbc.driver.T2CConnection.(T2CConnection.java:136) 
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:79) 
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545) 
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:194) 
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:109) 
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:77) 
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:59) 
at oracle.jdbc.pool.OracleConnectionCacheImpl.getNewPoolOrXAConnection(OracleConnectionCacheImpl.java:414) 
at oracle.jdbc.pool.OracleConnectionCacheImpl.setMinLimit(OracleConnectionCacheImpl.java:739) 

Avez-vous déjà eu cette erreur?

Je n'ai jamais utilisé cette erreur jusqu'à récemment. Cependant, cette erreur ne se produit pas sur l'ordinateur d'un collègue exécutant le même JUnit et utilisant le même fichier ojbdc14.jar. Donc, une sorte de problème environnemental devrait en être la cause.

Pouvez-vous m'aider?

+1

Quelle URL JDBC utilisez-vous? – skaffman

Répondre

0

Avez-vous installé le client Oracle? Je pense que vous utilisez le "oci" au lieu de pilotes Java purs qui nécessiteraient l'installation du client pour récupérer les bibliothèques partagées natives.

0

Assurez-vous que vous avez -Djava.library.path=<your-oracle-home>\bin en tant que paramètre à l'exécution

0

Il me semble que vous avez l'intention d'utiliser JDBC Type 2 pilote (client lourd) qui nécessitent une bibliothèque client Oracle doit être installé sur votre boîte. Ou basculez vers un pilote léger si possible en changeant simplement l'URL.

1

J'ai eu la même erreur dans l'environnement Webesphere en utilisant oci dirver, c'était en raison de la non-concordance de version de jar ojdbc14.jar, jar de ORACLE_HOME/jdbc/lib et le jar dans le classpath de JDBCProvider défini dans la console d'administration différent.