- - PR -
ORACLE10.2 JDBC接続エラー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-07-13 15:18
こんにちは。きたむらです。
Oracle10.2.0.2.0の環境で、JAVAからDB接続しようとしているのですが、 「oracle.security.pki.OracleWallet not found」といったエラーが表示されてしまいます。 ドライバはojdbc14.jarの最新版をダウンロードして使用しています。 アドバイスいただきたく、よろしくお願いします。 ・作業環境 ・OS ・Red Hat Enterprise Linux AS release 4 (Nahant Update 4) ・カーネル ・2.6.9-42.ELsmp ・データベースサーバー Oracle Database 10g Release 10.2.0.2.0 - 64bit Production ・JDK j2sdk1.5.0_12 ・JDBC ojdbc14.jar[10.2.0.1.0] CLASSPATH=.:/usr/local/imaizumi/javaFileSample/oracle/ojdbc14.jar: /usr/java/j2sdk1.5.0_12/jre/lib/*.jar:/usr/java/j2sdk1.5.0_12/lib/*.jar ★実行ソース OracleInsertThin.java --------------------------------------------------------------------------------------- import java.sql.*; import oracle.jdbc.driver.*; import oracle.sql.*; public class OracleInsertThin { public static void main(String[] args) { try { System.out.println( "test A" ); Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println( "test B" ); } catch (ClassNotFoundException e) { e.printStackTrace(); return; } Connection conn = null; System.out.println("connection null"); try { conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XXX", "XXX", "XXX"); } catch (SQLException e) { e.printStackTrace(); return; } } } --------------------------------------------------------------------------------------- >javac OracleInsertThin.java >java OracleInsertThin ★結果 -------------------------------------------------------------------------------------- test A Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: oracle.jdbc.driver.OracleDriver at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0) at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.5.0.0) at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib64/libgcj.so.5.0.0) at OracleInsertThin.main(java.lang.String[]) (Unknown Source) Caused by: java.lang.ClassNotFoundException: oracle.security.pki.OracleWallet not found in [file:./, file:/usr/local/imaizumi/javaFileSample/oracle/ojdbc14.jar, file:/usr/java/j2sdk1.5.0_12/jre/lib/*.jar, file:/usr/java/j2sdk1.5.0_12/lib/*.jar, file:/usr/share/java/libgcj-3.4.6.jar, file:./, core:/] at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib64/libgcj.so.5.0.0) at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib64/libgcj.so.5.0.0) at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib64/libgcj.so.5.0.0) at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib64/libgcj.so.5.0.0) at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib64/libgcj.so.5.0.0) at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib64/libgcj.so.5.0.0) at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib64/libgcj.so.5.0.0) at _Jv_PrepareClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0) at _Jv_WaitForState(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0) at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0) at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0) ...3 more --------------------------------------------------------------------------------------- [ メッセージ編集済み 編集者: きたむら 編集日時 2007-07-13 15:20 ] [ メッセージ編集済み 編集者: きたむら 編集日時 2007-07-13 15:22 ] | ||||
|
投稿日時: 2007-07-13 15:29
ん? Oracle10g? ojdbc14.jar?? 何で「oracle.jdbc.driver.OracleDriver」使おうとしてるの? マニュアル見てますか? | ||||
|
投稿日時: 2007-07-13 15:58
java のパスは正しいですか?
> at java.lang.VMClassLoader.resolveClass(java.lang.Class) > (/usr/lib64/libgcj.so.5.0.0) ^^^^^^^^^^^^^^^ 何故か libgcj が参照されているようですが・・・ RHEL では /usr/bin/java は gij を差しているので、 正しく PATH を設定しないと動作しないです。 | ||||
|
投稿日時: 2007-07-13 22:58
>マーサさま
oracle.jdbc.driver.OracleDriver⇒oracle.jdbc.OracleDriverということでしょうか? まだ廃止されていないようですが、いずれ無くなるとのことで修正しました。 回答ありがとうございました。 >あんとれさま ご指摘ありがとうございます。 OracleのExceptionでばかり調査していました。 Pathは一番最後に配置していたのですが、JAVAのPathが通っていませんでした。 Pathの一番最初に、jdkのパスを指定したらエラーを回避できました。 回答ありがとうございます。 助かりました! |
1