- - PR -
ADO.NETで複数データベース接続について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-10-04 01:17
VB.NET、Windowsフォームで、ADO.NETと複数のデータベースを参照して処理を行う方法をしりたいのですが?
具体的には、Oracleからデータを読んでSQLサーバに格納したいのですが。 どなたか教えてください(これだけでは情報不足でしょうか?)。 | ||||
|
投稿日時: 2003-10-04 16:39
それぞれのデータベース用にコネクションを用意すればできると思います。
| ||||
|
投稿日時: 2003-10-04 18:01
コネクションは双方のを用意して、接続はできるのですが、
リレーショナル(結合クエリ)をしたいのです。 ひとつのSQL文では無理のようなのですが、非接続でDatasetを使ったりすれば できるのでしょうか? | ||||
|
投稿日時: 2003-10-04 19:06
リーフさん、こんばんは。
例えば SQL Server 側に、Oracle へのリンクサーバーを設定すれば、単一のクエリで連結することは可能です。 詳細はSQL Server Books Online 等を参照して下さい。 | ||||
|
投稿日時: 2003-10-04 23:11
回答ありがとうございます。
リンクサーバの設定をしないで行える方法はないのでしょうか (サーバが違う場所にあり、リンク接続はセキュリティ上許されて いないのです)。 | ||||
|
投稿日時: 2003-10-06 08:47
こんにちは。
一応、DataSet.Relationsプロパティでできます。ただし、データベースから検索するような検索の仕方… SELECT Table1.NAME FROM Table1, Table2 WHERE Table2.ID = Table1.ID というSQLを投げるようなことはできません。こういうことをしたい場合、DataTable.SelectメソッドでTable2の行を抜き出し、DataRow.GetChildRowsまたはDataRows.GetParentメソッドで関係する行(または行の配列)を抜き出します。 システム的に見ると、互いに連携しあえないサーバにテーブルを分けて配置する、というところに無理があると思うのですが・・・ |
1