2010-11-22 7 views
0

Ich habe an einer ASP.NET MVC 2 App ähnlich wie SQL MDS gearbeitet. Die App, die wir als ADMIN-App bezeichnen, dient dazu, dass die Implementierer nicht-transaktionale Kundendaten einrichten, um sie an Bord zu bringen.Lösungsänderung von ASP.NET MVC 2 zu?

Die Anwendung wurde jedoch für eine SQL-DB Targeting auf einer einzigen Umgebung UAT/Live/QA usw. Auf den Punkt gebracht gebaut die App zusammen mit DB bereitgestellt wird.

Die neue Anforderung ist - App sollte mehr DBs Ziel. Mit anderen Worten sollten Kundendaten, die eingegeben werden, nach der LIVE-Umgebung auf UAT & inszeniert/migriert werden. Dadurch wird sichergestellt, dass Kundendaten nicht mehrfach eingegeben werden müssen. Diese neue Anforderung hat mich überrascht.

ich mit Single-Site-Targeting mehrere DBs nicht gehen können Coz die Umgebungen erlaubt seggregated sind und kein Kreuz env Netzzugang. Was ist fair?

Ein anderer Ansatz, den ich dachte, war, die Entity-Objektgrafik als Paket zu exportieren (da ich LINQ2SQL verwende), um mit serialize/deserialize in die nächste Umgebung importiert zu werden. Ich fürchte jedoch, dass ich Probleme mit IDs und referenzieller Integrität haben könnte. Hat jemand das versucht?

Wie ich DI Verwendung/IoC so ist die Architektur lose gekoppelt. Welche anderen Lösungen könnte ich ohne großen Rückgriff auf Entwicklungsbemühungen versuchen? Sollte ich mit einem Winform-Ansatz gehen und die Implementierer beauftragen, Netzwerkzugriff auf alle SQL-Server zu haben?

Alle Gedanken werden sehr geschätzt ... Daks

Antwort

0

Haben alle Datenbanken das gleiche Schema? Wenn ja, können Sie die Verbindungszeichenfolgen nicht einfach im laufenden Betrieb ändern und eine Verbindung zu der Datenbank herstellen, die Sie benötigen?

+0

Alle DBs haben ein gemeinsames Schema. Ich kann jedoch nicht mit Single Site gehen, die auf mehrere DBs in verschiedenen Umgebungen (QA/UAT/LIVE) abzielt. Alle sind segregiert und es ist kein Netzwerkzugriff über die Umgebung möglich. – dakuji

+0

Ich fühle deinen Schmerz. Bei meiner letzten Firma hatten wir ungefähr 40 Datenbanken, die synchron waren. Wir benutzten http://www.red-gate.com/products/SQL_Packager/index.htm und SQL Comapre mochte sie sehr. – rboarman

+0

Obwohl ich es noch nicht getestet habe. Aus der Sicht von t scheint SQL_Packager der am besten geeignete Kandidat zu sein, um das zu erreichen, was ich brauche. – dakuji

0

Wenn ich das richtig das Problem zu verstehen, ich glaube, Sie ETL mit in Erwägung ziehen könnte, die Daten zwischen verschiedenen Datenbanken zu übertragen, wenn es aktualisiert wird. Rhino ETL ist ein gutes Werkzeug, um die Daten zu verschieben.

Here ist ein Link über die Verwendung und here ist ein Link zum Git-Repository.