2

JDK1.5を使用してApacheANTを使用して一連のJUnitを実行しています。

Oracle JDBCドライバーを使用するすべてのJUnitは、以下に示すUnsatisfiedLinkErrorを発生させます。

どのネイティブライブラリを探していますか?これを解決するにはどうすればよいですか?PATH変数には何を含める必要がありますか?

java.lang.UnsatisfiedLinkError: oracle/jdbc/driver/T2CConnection.t2cGetCharSet([CI[CI[CI[CII[SLoracle/jdbc/driver/GetCharSetError;)S
        at oracle.jdbc.driver.T2CConnection.getCharSetIds(T2CConnection.java:2957)
        at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:320)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:361)
        at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:142)
        at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:79)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:595)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:196)
        at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:114)
        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:401)
        at oracle.jdbc.pool.OracleConnectionCacheImpl.setMinLimit(OracleConnectionCacheImpl.java:752) 
4

5 に答える 5

3

解決しました!

これは実際には古いojdbc14.jarファイルであり、この問題を引き起こしていました。私がしたのはそれを更新することだけでした、そして問題は今修正されました。クラスファイル

ありがとう

于 2008-10-07T09:04:55.120 に答える
0

「Java仮想マシンが、ネイティブとして宣言されたメソッドの適切な母国語定義を見つけられない場合にスローされます。」

DLLを探していることを意味します-おそらくTHICKドライバーを使用していますか?JDBC 2ドライバー?

はいの場合は、OCI.DLLなどを追加することをお勧めします。

于 2008-10-06T21:54:00.687 に答える
0

これがある場合は、classes12.jarまたはclasses13.jarをクラスパスに追加する必要があります(名前はわかりません。1年以上経過しています。これらをグーグルで検索してください...)

于 2008-10-06T16:40:01.473 に答える
0

-Djava.library.path=YOUR_ORACLE_HOME\bin をランタイム パラメータとして JRE に渡す必要があります。

そう....

java [other java switches + runtime parameters] -Djava.library.path=YOUR_ORACLE_HOME\bin run-classname

また、クラスパスのjarが$ORACLE_HOME/jdbc/libにあるものと同じであることを確認してください...必要に応じて、EclipseのものをOracleのもので上書きします。

これが機能しない場合は、実行している Oracle のバージョンを知っておくと役立ちます。これは、classes12.jar または ojdbc14.jar を使用する必要があるかどうかに影響するためです。

于 2008-10-06T19:50:25.693 に答える