小さなJavaユーティリティを他の開発者から継承しました.Javaファイルと実行可能な.jarのほんの一部です。ocijdbc11 java.library.pathに見つかりません
接続文字列を渡してJavaプログラムを実行します。これで、thin接続の代わりにthickドライバを使用するために、接続文字列をjdbc:oracle:thin:<user>/<password>@host
からjdbc:oracle:oci:<user>/<password>@host
に変更する必要があります。
結果として、「ocijdbc11(java.library.pathに見つかりません)」というエラーが表示されます。
ここに私の質問:
- はojdbc7.jarのocijdbc11一部ですか?または、どのファイルにJavaが必要ですか? ANSW:ocijdbc11はライブラリです
/oracle/client/o11r2/lib/libocijdbc11.so
ocijdbc11
を見つけるのにどのパスが使用されているかをどのように確認できますか?
念のために:
$ ls /oracle/client/o12r1/
assistants diagnostics jlib oui slax
bin dmu ldap owm sqlplus
cdata has lib perl srvm
cfgtoollogs hs network plsql ucp
clone install nls precomp usm
crs instantclient odbc QOpatch utl
css inventory OPatch racg wwg
cv javavm opmn rdbms xdk
dc_ocm jdbc oracore relnotes
deinstall jdk oraInst.loc root.sh
UPD私はオプション-Djava.library.path=/oracle/client/o11r2
を使用しようとした他のエラーを得ました。しかし、11.2の代わりにOracle 12.1を使用する方法はまだ分かりません。
UPD2私は11の代わりにOracle 12を使用するように環境パスを変更しました。そして今エラーはocijdbc12 (Not found in java.library.path)
のように見えます。ファイル/oracle/client/o12r1/lib/libocijdbc12.soが存在します。
/oracle/client/o11r2/lib
~LD_LIBRARY_PATH
- 同じエラー(ocijdbc12 (Not found in java.library.path)
)を追加しました。私はオプション-Djava.library.path=/oracle/client/o12r2/lib
を試しました - 同じエラー。それを修正するために私を助けてもらえますか?
"11.2のJDBC jarを使用しているようです。" - そうですね。しかし、私は12.1へのパスをどのように変更できますか?それはちょうどいくつかの環境変数か、私はJavaプログラムを再コンパイルする必要がありますか? – Vikora
再コンパイルする必要はありません。 JDBC jarを12.1または12.2のJDBC jarに置き換えるだけで、Oracle JDBCのダウンロード・ページからダウンロードできます。 12.2からのものはJDK8以降でのみ動作することに注意してください(JDK7はサポートされません)。 –
"JDBC jarを12.1のものと置き換えるだけです。" - どこに置き換えますか? JavaはOracle 11.2を使用していますが、12.1( – Vikora