2009-09-01 21 views
1

JavaアプリケーションのOracle9,10,11に接続する必要があります。クライアントは常にアプリケーションが実行される場所に存在し、アプリケーションはユーザー名、パスワード、およびインスタンス(tnsnames.oraで指定されています) .Henceドライバのoracle.jdbc.driver.OracleDriverを使用して、jdbc:oracle:oci:@testora .Imというタイプの接続文字列でociドライバを使用したいとします。 私は10gのクライアントを持ち、jdk1.5を使用しています。クライアントのlibパスからojdbc14 jarを使用すると、アプリケーションが実行されます。11g(odbc5.jar)のociドライバは10gクライアントで動作しますか?

しかし、ojdbc5ドライバを使用すると、アプリケーションは で失敗します。スレッド "main"の例外java.lang.UnsatisfiedLinkError:javaのocijdbc11なし。 library.path 例外。

単一のjar(ojdbc5/ojdbc14)とociドライバを使用してローカルマシン(9/10/11)に存在するクライアントに接続する単一のドライバをパッケージ化する方法を探しています。私がそれを好む方法です。

これは不可能な場合は、oracleバージョンのUnixボックスを検索し、正しいjarをピックアップし、jar形式のアプリケーションを呼び出すときにクラスパスで使用できますか?

おかげで、 これは、あなたがJavaライブラリパスにDLL(ocijdbc11.dll)が欠けていることを意味

答えて

1

java.lang.UnsatisfiedLinkError: no ocijdbc11 in java.library.path

フェル。

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

+0

私はunix環境で作業していて、java.library.pathをLD_LIBRARY_PATHの場所に設定しようとしました...しかし今、次のリンクエラーが表示されます:Sparc v9 64ビットSparcの32ビットプラットフォームでの.so。どうすれば修正できますか? – Fell

+0

私のソラリスマシンは64ビットで、私はjdk1.5を使用しています – Fell

+0

@ジェスパー、私はこの投稿に似たような問題がありますhttp://stackoverflow.com/questions/19223416/java-lang-unsatisfiedlinkerror-no-ocijdbc11-in-java- library-path?lq = 1と私はそれを把握することはできません、助言してください。 –

1

のojdbc5.jarは、Oracle 10または11gに接続されているjdk1.5.xのいずれかで動作するように意図されたojdbc14.jar、問題ではないはず:あなたはDLLと、このようなあなたのプログラムを起動するにはことを持っていることを確認しますjdk1.4.xを対象としていました

関連する問題