2010-11-22 8 views
0

私はSQL MDSに似たASP.NET MVC 2アプリを開発しています。 ADMINアプリと呼ばれるアプリは、実装者が非トランザクションの顧客データをセットアップして持ち込むためのものです。ソリューションの変更は、ASP.NET MVC 2からですか?

しかし、アプリケーションはSQL DBを単一の環境UAT/LIVE/QAなどにターゲット設定するために構築されました。要するに、アプリケーションはDBとともにデプロイされます。

新しい要件は - appは複数のDBを対象とする必要があります。言い換えれば、キー入力された顧客データは、LIVE環境に続いてUAT &にステージング/移行される必要があります。これにより、顧客データを複数回キー入力する必要がなくなります。この新しい要件は私にオフガードをもたらしました。

複数のDBを対象とした単一のサイトでは、環境がsegregatedであり、クロスenvネットワークアクセスは許可されません。それは公正です。

私が考えていた別のアプローチは、serialize/deserializeを使用して次の環境にインポートするために、entities objectgraphをパッケージとしてエクスポートすることでした(LINQ2SQLを使用しているため)。しかし、私はIDと参照整合性の問題に遭遇するかもしれないことは怖いです。誰もこれを試しましたか?

私はDI/IoCを使用しているので、アーキテクチャは緩やかに結合されています。開発努力に多くの頼みを払うことなく他の解決策を試すことができますか?私はWinformのアプローチと一緒に、すべてのSQLサーバーへのネットワークアクセスを実装するように指示する必要がありますか?

任意の考えは非常に高く評価されます... ダックス

答えて

0

すべてのデータベースのスキーマは同じですか?そうであれば、接続文字列を即座に変更し、必要なデータベースに接続するだけではどうですか?

+0

すべてのDBは共通のスキーマを共有します。しかし、私は別の環境(QA/UAT/LIVE)に分散した複数のDBを対象とした単一サイトでは行けません。すべてが切り分けられ、クロス環境ネットワークへのアクセスは許可されません。 – dakuji

+0

私はあなたの痛みを感じます。私の最後の会社では、約40のデータベースが同期していました。我々はhttp://www.red-gate.com/products/SQL_Packager/index.htmを使用し、SQL Comapreはそれらを多く好みました。 – rboarman

+0

まだ私はそれをトライアルしていませんが。 SQL_Packagerの外観から、私が必要とするものを達成するための最も適した候補者のようです。 – dakuji

0

私が正しくあなたの問題を理解していれば、私はあなたがそれが更新されるたびに異なるデータベース間でデータを転送するETLの使用を検討できると思います。 Rhino ETLは、データを移動するための優れたツールです。

Hereは使用に関するリンクであり、hereはgitリポジトリへのリンクです。

関連する問題