带有ojdbc14.jar的UnsatisifiedLinkError

时间:2009-05-15 13:06:52

标签: java oracle junit jdbc

我正在尝试运行一些连接到Oracle数据库的JUnit测试,以及是否进行了连接尝试。抛出以下错误:

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)

之前有没有人有这个错误?

我从来没有习惯过这个错误直到最近。但是,在运行相同JUnit并使用相同的ojbdc14.jar文件的同事的计算机上不会发生此错误。所以某种环境问题应该引起这种情况。

你能帮忙吗?

4 个答案:

答案 0 :(得分:1)

我在使用oci dirver时在Webesphere环境中遇到了同样的错误,这是由于jar ojdbc14.jar的版本不匹配,来自ORACLE_HOME / jdbc / lib的jar和管理控制台中定义的JDBCProvider的类路径中的jar是不同的

答案 1 :(得分:0)

您是否安装了Oracle客户端?我认为您使用的是“oci”而不是纯Java驱动程序,这需要客户端安装来获取本机共享库。

答案 2 :(得分:0)

确保将-Djava.library.path=<your-oracle-home>\bin作为运行时

的参数

答案 3 :(得分:0)

在我看来,您打算使用需要在客户端安装Oracle客户端库的JDBC Type 2驱动程序(胖客户端)。或者,只需更改URL即可切换到瘦驱动程序。