- PR -

ADO.NETで複数データベース接続について

1
投稿者投稿内容
リーフ
会議室デビュー日: 2003/10/04
投稿数: 3
投稿日時: 2003-10-04 01:17
VB.NET、Windowsフォームで、ADO.NETと複数のデータベースを参照して処理を行う方法をしりたいのですが?

具体的には、Oracleからデータを読んでSQLサーバに格納したいのですが。
どなたか教えてください(これだけでは情報不足でしょうか?)。
TomScissors
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 79
投稿日時: 2003-10-04 16:39
それぞれのデータベース用にコネクションを用意すればできると思います。
リーフ
会議室デビュー日: 2003/10/04
投稿数: 3
投稿日時: 2003-10-04 18:01
コネクションは双方のを用意して、接続はできるのですが、
リレーショナル(結合クエリ)をしたいのです。
ひとつのSQL文では無理のようなのですが、非接続でDatasetを使ったりすれば
できるのでしょうか?
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2003-10-04 19:06
リーフさん、こんばんは。

引用:

リレーショナル(結合クエリ)をしたいのです。
ひとつのSQL文では無理のようなのですが、非接続でDatasetを使ったりすれば
できるのでしょうか?


例えば SQL Server 側に、Oracle へのリンクサーバーを設定すれば、単一のクエリで連結することは可能です。
詳細はSQL Server Books Online 等を参照して下さい。
リーフ
会議室デビュー日: 2003/10/04
投稿数: 3
投稿日時: 2003-10-04 23:11
回答ありがとうございます。
リンクサーバの設定をしないで行える方法はないのでしょうか
(サーバが違う場所にあり、リンク接続はセキュリティ上許されて
いないのです)。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-10-06 08:47
こんにちは。
引用:

リーフさんの書き込み (2003-10-04 18:01) より:

コネクションは双方のを用意して、接続はできるのですが、
リレーショナル(結合クエリ)をしたいのです。
ひとつのSQL文では無理のようなのですが、非接続でDatasetを使ったりすれば
できるのでしょうか?


 一応、DataSet.Relationsプロパティでできます。ただし、データベースから検索するような検索の仕方…
SELECT Table1.NAME FROM Table1, Table2 WHERE Table2.ID = Table1.ID
というSQLを投げるようなことはできません。こういうことをしたい場合、DataTable.SelectメソッドでTable2の行を抜き出し、DataRow.GetChildRowsまたはDataRows.GetParentメソッドで関係する行(または行の配列)を抜き出します。


 システム的に見ると、互いに連携しあえないサーバにテーブルを分けて配置する、というところに無理があると思うのですが・・・
1

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