1つのサーバーには、構造は同じでデータが異なる20を超えるデータベースがあります。すべてのデータベースから一部のデータ(同じクエリ)を収集し、別のサーバーにある新しいデータベースに保存する必要があります。ASP.NET MVC 2を使用することにしましたが、構造がすべてのデータベースで同じであり、非常に多くのファイルを使用すると繰り返されるため、20を超える「LINQto SQLClasses」(.dbml)ファイルを使用するのは論理的ではないようです。これらのファイル。1つの.dbmlファイル(リモートデータベース用)を使用するが、接続文字列のみを変更する簡単な方法はありますか?
3 に答える
MVCはWebフレームワークであり、データの移動とは関係がないため、MVCを使用したくないことに同意します。
ETLツールを使用してこのタスクを実行することも検討できます。私は過去にRhinoETLを使用して、同様のことを成功させてきました。
このサイトには、ETLツールについて説明している複数の投稿もあります。たとえば、次のリンクを確認してください-https://stackoverflow.com/questions/51198/what-etl-tool-do-you-use
これによると、dataContextコンストラクターを使用して接続文字列を渡すことができます。したがって、理論的には、1つのdbmlファイルを持つことができるはずですが、データコンテキストの複数のインスタンスをインスタンス化でき、それぞれに異なるデータベース接続文字列が指定されています。次に、各コンテキストはそれぞれのデータベースを指し、複数のデータベースを操作できるようにする必要があります。
なぜASP.NETMVCを使用したいのですか?ASP.NETはWebUI用であり、データウェアハウジング用ではありません(キューブを表示する必要がある場合を除く)。SQLServerを使用しているようです。それが本当なら、Integration Services(DTSなど)を利用して仕事をすることができます。