2016-07-12 9 views
0

2つの異なるサーバー上にある2つの異なるデータベースインスタンスからデータを取得し、C#の返された結果セット(2)に対して結合クエリを適用します。私はセキュリティ上の懸念からリンクサーバーを使用する予定ではなく、2つのデータベースサーバーから返された2つの結果セットに対してC#で結合を適用したいと考えています。2つの異なるサーバー上の2つの異なるデータベースからデータを取得し、C#を使用してそれらを結合します。

この例や実際の例に最適な解決方法をご提案ください。 注:両方の結果セットを結合した後、結果セットからXMLデータを準備する必要があります。

+0

リンクされたサーバーがないため、クエリの2番目のデータベースにアクセスできません。もし私が2番目のデータベースにアクセスできない場合は、どのようにしてビューを書くことができますか?また、私はOpenRowSetを調べましたが、これにはパーミッションが必要です。 OpenRowSetの代わりに、2つのデータベースからデータを取得し、それらをLINQを使用してフィルタ条件に結合すると、どれくらいうまくいくのでしょうか? –

答えて

0

あなたは

両方のサーバーからデータを取得し、個別にクラスのオブジェクトを埋めるそれらのテーブル用の2つのカスタムクラスを作成することができる方法幅広い質問が、大まかなアイデア

です。どちらが得られるかList<customentity>

両方の表に共通の列またはそれらの間の関係がある場合は、両方のカスタムエンティティをその共通の列に結合できます。

なぜlinked serverを使用できないのかよくわからないのは、linked serversが導入されていて便利な理由です。

+0

2つのテーブルの間に関係があります。最初のサーバーから最初のデータを取得した後、2番目のサーバーに最初のサーバーのプライマリキーを追加する必要があります。 –

+0

@PuliganP、OK、回答ステップを参照してください...個別に取得する以外の方法で、カスタムクラス/モデルを塗りつぶしてから、結合を実行します。 – Rahul

+0

リストデータからXMLを準備できますか? –

関連する問題