- PR -

DB2の接続

投稿者投稿内容
ぱちぱち
常連さん
会議室デビュー日: 2007/03/05
投稿数: 31
投稿日時: 2007-03-05 19:10
こんにちは。

今、2台のマシンで片方はWinXP(eclipseのあるアプリ側)、片方はWin2k(DB2のDBがあるもの)で、開発環境を整えたいのですが、なかなかうまくいきません。

ネットワーク環境はオフラインのハブで接続した固定IP(192.168.0.1x)で接続しています。

Javaでのコネクションの取得はこのように記述してます。(以前のOracle利用時のままも気になりますが・・)

※ドライバ認識部
try {
orclDriver = (java.sql.Driver) Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
System.out.println("成功");
} catch (Exception e) {
System.out.println("失敗");
return;
}

※コネクション取得部
con = DriverManager.getConnection("jdbc:db2://192.168.0.1:50000/dbname", "Administrator", "password");

ドライバのJARは db2jcc.jar を使ってます。
また\\192.168.0.1\での接続はでき、共有もインストール時作成されたDB2とIBMのフォルダを共有設定にしました。

DB2は始めてでしかも別マシンで接続させようとしており困ってます。
何かアドバイスいただければ、よろしくお願いします。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-03-05 19:24
引用:

ぱちぱちさんの書き込み (2007-03-05 19:10) より:
DB2は始めてでしかも別マシンで接続させようとしており困ってます。
何かアドバイスいただければ、よろしくお願いします。



何に困っているのか具体的にかけばいいのではないでしょうか。
「なかなかうまくいかなくて困っている」といわれても困りますね。

エラーが出るのですか?
共有ってなんだろう…?Windowsのファイル共有?
DB接続にファイル共有は関係しないだろうと思うのだけど。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2007-03-05 19:30
 「orclDriver」これはオラクルのドライバークラスのインスタンスでは?
というか、DB2でもオラクルでも一緒です。
JDBCドライバのクラス名やDBのURLが変わる程度です。
但し、オラクルは独自実装が多いので、それで覚えてしまうと混乱の元になります。
オラクルの独自実装は、JDBCの標準の実装を身につけてから使いましょう。

 コードは下記のようになるはずです。
コード:
try {
	Class.forName("com.ibm.db2.jcc.DB2Driver");
  con = DriverManager.getConnection("jdbc:db2://192.168.0.1:50000/dbname", "Administrator", "password");
	System.out.println("成功");
} catch (SQLException e) {
	System.out.println("失敗");
	return;
}

ぱちぱち
常連さん
会議室デビュー日: 2007/03/05
投稿数: 31
投稿日時: 2007-03-05 23:40
ありがとうございます。

ご指摘通りにやってみましたが、まだコネクション接続できないでおります。
ソースに不備がなければ、DBのインストールから設定に問題があったのでしょうか?

DB接続テストツールをDB2を入れているPCで実行(下記ソースと同じ内容です)してみても同じ結果でドライバは認識するのですがコネクション接続ではエラーになってしまいました。
また、テストしている時のセキュリティソフト・ファイヤーウオールを閉じても同じ結果でした。

何かお気付きになりましたら、よろしくお願いします。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-03-06 00:14
まっとりあえず
コード:
System.out.println("失敗"); 


だけではなく、せめて
コード:
System.out.println("失敗"); 
System.out.println(e); 


の結果を書いてくれないと。接続設定も大事なのですが、発生するエラー
メッセージから原因を判断するのが妥当かと思います。
DB接続パラメータの不備という、ありがちな間違が発生していたりするので
はないのかなと。


ぱちぱち
常連さん
会議室デビュー日: 2007/03/05
投稿数: 31
投稿日時: 2007-03-06 00:30
ありがとうございます。

そうですね、Exceptionを表示させて実行してみました。
こんなエラーが出ました。
com.ibm.db2.jcc.a.SqlException: The version of the IBM Universal JDBC driver in
use is not licensed for connectivity to QDB2/NT databases. To connect to this D
B2 server, please obtain a licensed copy of the IBM DB2 Universal Driver for JDB
C and SQLJ. An appropriate license file db2jcc_license_*.jar for this target pl
atform must be installed to the application classpath. Connectivity to QDB2/NT
databases is enabled by any of the following license files: { db2jcc_license_cu.
jar, db2jcc_license_cisuz.jar }

また、追加しているJARファイル(JDBCDriver)はdb2jcc.jarのみです。
webでDB2のコネクションはこれさえあればいいと紹介されてましたので・・。
ただ、db2jcc_license_cisuz.jarと出てますね・・何なんでしょうか?

よろしくお願いします。
ぱちぱち
常連さん
会議室デビュー日: 2007/03/05
投稿数: 31
投稿日時: 2007-03-06 00:34
またすいません、追記です。

DB2のクライアント(あるのかどうかもちょっと分かりませんが・・)などアプリ側では何もありません(追加しているJarファイル以外)。

よろしくお願いします。
会議室デビュー日: 2006/10/17
投稿数: 13
投稿日時: 2007-03-06 00:51
この辺りを参照すれば、いいはず。
ライセンスファイルがないと思われる。
http://db2forum.jp/viewtopic.php?t=1742&highlight=jar

スキルアップ/キャリアアップ(JOB@IT)