我正在尝试运行一些连接到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文件的同事的计算机上不会发生此错误。所以某种环境问题应该引起这种情况。
你能帮忙吗?
答案 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即可切换到瘦驱动程序。