- - PR -
DB接続中に別のDBへ接続できますか?
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-04-15 12:14
こんにちは。またまたお世話になります。
AというDBに接続してデータを抽出(複数)し、1件ずつ表示させている最中に Aから得たデータをキーとして別のDBへ接続して結果を得ることはできますか? AとBは接続するConnectionオブジェクトが違います。 Aから得たデータを配列に入れてAをクローズし、次にBを接続して抽出する方法しか考えられません。 どうぞよろしくお願いします。 [ メッセージ編集済み 編集者: nabeママ 編集日時 2003-04-16 16:53 ] |
|
投稿日時: 2003-04-15 19:26
同時接続に漠然とした不安を覚えるので、
> Aから得たデータを配列に入れてAをクローズし、次にBを接続して抽出する方法しか考えられません。 ↑を私もお薦めするのですが、以下の方法で一応できるのでは?と思い投稿しました。 ResultSet rsA; /* AのResultSet(既に取得済みとする) */ Connection conB; /* BのConnection(既に取得済みとする) */ PreparedStatement psmt; ResultSet rsB; String query = "SELECT DATA FROM DB_B_TBL WHERE KEY = ?"; psmt = conB.prepareStatement(query); while(rsA.next()) { /* この辺でAの他のデータ出力 */ /* Bのデータ取得 */ psmt.setString(1, rsA.getString("KEY")); /* キーとなるデータを取得し、セット */ rsB = psmt.executeQuery(); /* 結果セット取得 */ /* この辺でBのデータ出力 */ } (例外処理は省略) 動作確認も取っていないので、上手くいくかどうか分かりません。 識者の方、補足・問題点等ご指摘をお願いいたします。 [ メッセージ編集済み 編集者: pyob 編集日時 2003-04-15 19:29 ] |
|
投稿日時: 2003-04-15 23:36
Aの接続をクローズせずとも
ConnectionオブジェクトやResultSetを作りまくれば 複数のDB接続は可能です。 でも、同じキーを別のDB内のデータと比較するような設計は 後々考えると厳しいのではとおもいます。。。 仕様なんですよねtt |
|
投稿日時: 2003-04-16 11:23
こんにちは。
pyobさん、raystarさん、レスありがとうございます。 複数のDB接続可能ということなのでその通り、Aを接続中に接続してDBから値を抽出しました。ただ、pyobさんのおっしゃる通り、連続した接続はレスポンスにも影響しそうなのでpyobさんの教えていただいた方法も含め、もう少し勉強したいと思います。 仕様については・・・これだけのためのDBではないので 本当にありがとうございましたぁ。 [ メッセージ編集済み 編集者: nabeママ 編集日時 2003-04-16 17:08 ] |
1
