• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データベースに接続できません。)

データベースに接続できません

このQ&Aのポイント
  • JavaからDB2に接続するためのコードを書いても動作しない問題が発生しました。
  • C言語ではSQL文で接続できるのですが、Javaでは違う方法が必要です。
  • 画面表示には「try」が表示され、エラーコード0が表示されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • teketon
  • ベストアンサー率65% (141/215)
回答No.5

おそらく、利用PCにC言語用のクライアント(CLI、ODBC)はインストールされているが、 Java用のクライアント(JDBC)がインストールされていないのでしょう。 下記のWindowsの手順を実行し、インストールしてください。 http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/index.jsp?topic=%2Fcom.ibm.db2.luw.apdv.java.doc%2Fsrc%2Ftpc%2Fimjcc_cjvintro.html

maiko0318
質問者

お礼

出来ました。 db2jcc.jar または db2jcc4.jar JDBC 3.0 以前の機能だけが組み込まれているバージョンの IBM Data Server Driver for JDBC and SQLJ を使用する予定であれば、db2jcc.jar を CLASSPATH に組み込みます。 JDBC 4.0 以降の機能と、JDBC 3.0 以前の機能が組み込まれているバージョンの IBM Data Server Driver for JDBC and SQLJ を使用する予定であれば、db2jcc4.jar を CLASSPATH に組み込みます。 sqlj.zip または sqlj4.zip JDBC 3.0 以前の機能だけが組み込まれた SQLJ アプリケーションを準備する予定であれば、sqlj.zip を CLASSPATH に組み込みます。 JDBC 4.0 以降の機能と、JDBC 3.0 以前の機能が組み込まれた SQLJ アプリケーションを準備する予定であれば、sqlj4.zip を CLASSPATH に組み込みます。 この手続だけでした。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • hirotn
  • ベストアンサー率59% (147/246)
回答No.4

貴環境で以下のファイルを含むように環境変数CLASSPATHを設定します。 どこにあるかは現状いただいている情報ではわかりません。検索してください。 sqlj_classes.jar translator.zip runtime.zip 検索方法はOSがわからないのでお示しできません。 格納先/sqlj_classes.jar:格納先/translator.zip:格納先/runtime.zip となります。 Windowsの場合は\でフォルダを区切ります。 設定方法も、ご利用のOSがわからないので、Windows 7の場合をお示しすると、 1)「スタート」   →「コンピュータ」を右クリック 2)左側の一覧から「システムの詳細設定」をクリック 3)「詳細設定」タブをクリック 4)「環境変数」ボタンをクリック 5)「システム環境変数」の新規をクリック 6)変数名:CLASSPATH 変数値:(jar及びzipが存在するフルパスとファイル名を指定します) を設定する 7)開いているウインドウを順々に「OK」ボタンをクリックして閉じる UNIX系OS(bounce shell)の場合は、 $ export CLASSPATH=格納先/sqlj_classes.jar:格納先/translator.zip:格納先/runtime.zip となります。 $ cd / $ find . | grep sqlj_classes.jar などとすると格納先が解るかと思います。

maiko0318
質問者

補足

3つとも、全く見当たりません。 java.sql.SQLException: No suitable driver found for jdbc:db2:sample の原因がCLASSPATHにあるのでしょうか? osはwindows7(64ビット)です。 あとどんな情報がいりますか?

すると、全ての回答が全文表示されます。
  • hirotn
  • ベストアンサー率59% (147/246)
回答No.3

環境変数CLASSPATHの確認をお願いします。 http://publib.boulder.ibm.com/html/as400/v4r5/ic2962/info/java/rzaha/sqljcr.htm

maiko0318
質問者

補足

ありがとうございます。 ただ、/QIBM/ProdData/Java400/ext  なんというフォルダーは存在しません。 私の環境でのページをご指導ください。

すると、全ての回答が全文表示されます。
  • teketon
  • ベストアンサー率65% (141/215)
回答No.2

>System.out.println("error code: " + ((java.sql.SQLException)(e)).getErrorCode()); >} このあとに >System.out.println(e); とすると、実行時に何が表示されますか?

maiko0318
質問者

補足

ありがとうございます。 try try1 error code: 0 java.sql.SQLException: No suitable driver found for jdbc:db2:sample となりました。

すると、全ての回答が全文表示されます。
  • hirotn
  • ベストアンサー率59% (147/246)
回答No.1

Myctx myctx = new Myctx("jdbc:db2:sample","user1","",false);の前の行に、 Class.forName( "COM.ibm.db2.jdbc.app.DB2Driver" ); を挿入してみてください。 参考 http://www-06.ibm.com/software/jp/data/db2univ/data/sqlj.pdf http://d.hatena.ne.jp/spider-man/20080307/p1

maiko0318
質問者

補足

ありがとうございます。 System.out.println("try"); try { Class.forName( "COM.ibm.db2.jdbc.app.DB2Driver" ); System.out.println("try1"); Myctx myctx = new Myctx("jdbc:db2:sample","user1","",false); System.out.println("try2"); try2が出てきません。

すると、全ての回答が全文表示されます。

関連するQ&A