Laden...

Programm soll wahlweise mit MS SQL oder MYSQL DB laufen

Erstellt von kom2006 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.601 Views
K
kom2006 Themenstarter:in
110 Beiträge seit 2007
vor 12 Jahren
Programm soll wahlweise mit MS SQL oder MYSQL DB laufen

Hallo zusammen,

ich suche nach einem Ansatz, wie ich es am besten umsetze, dem Anwender in einem Programm die Möglichkeit zu geben, entweder mit einer MS SQL oder einer MYSQL Datenbank zu arbeiten.

Die Auswahl erfolgt bei der ersten Nutzung des Programms über eine Konfigurationsdatei und bleibt dann auch so.

Ich könnte jetzt natürlich bei jedem DB-Zugriff prüfen

if (MSSQL)
...
else if (MYSQL)
...

Aber das ist bestimmt nicht der Weisheit letzter Schluß.

Habt ihr da einen Tipp für mich, wo ich mich einlesen kann?

Danke und Grüße

C
252 Beiträge seit 2007
vor 12 Jahren

Kommt ein OR-Mapper(zb nHibernate) in Frage? Da stellst du es in der Konfig ein welcher Dialekt verwendet wird und den Rest übernimmt nHibernate für dich.

5.742 Beiträge seit 2007
vor 12 Jahren

Aber das ist bestimmt nicht der Weisheit letzter Schluß

Definitiv nicht!

Ich kann mich chavez anschließen:
Wirf mal einen Blick auf das Entity Framework oder NHibernate - die sollten beide sowohl MSSQL als auch MySQL unterstützen.

Generell kannst du dir das Fassade bzw. das Strategy-Pattern (in Kombination mit dem Factory-Pattern) anschauen bzw. etwas konkreter das Repository-Pattern in Verbindung mit DI.

3.825 Beiträge seit 2006
vor 12 Jahren

Du kannst auch mit DbFactory arbeiten, dann sind die grundsätzlichen Datenbankzugriffe gleich.

Connectionstring und einige SQL-Befehle (top, limit) sind dennoch verschieden.

Siehe http://www.seven-c.de/files/datenbankenhowto.htm#10 Kapitel 11

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

K
kom2006 Themenstarter:in
110 Beiträge seit 2007
vor 12 Jahren

Kommt ein OR-Mapper(zb nHibernate) in Frage? Da stellst du es in der Konfig ein welcher Dialekt verwendet wird und den Rest übernimmt nHibernate für dich.

Danke, das sieht ja gut aus, aber auch nach viel Handarbeit.

Kennt jemand von euch dieses AddIn für Visual Studio? US$ 99 scheinen die Features wert zu sein.

http://www.mindscapehq.com/products/nhdesigner

Viele Grüße
kom2006

C
252 Beiträge seit 2007
vor 12 Jahren

Ich verwende nHibernate in Kombination mit Fluent nHibernate. Damit geht das ganze eigentlich ratz-fatz.
Und die Config für nHibernate ist ja auch schnell erledigt. Dazu gibts auf der Homepage ein Tutorial.

3.511 Beiträge seit 2005
vor 12 Jahren

In der neuesten NHibernate Version ist auch ein eigenes Fluent Mapping Interface mit dabei. Ist auch ein Blick wert.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

K
kom2006 Themenstarter:in
110 Beiträge seit 2007
vor 12 Jahren

Wollte nur kurz Ergebnis-Rückmeldung geben:

Ich habe mir

http://www.mindscapehq.com/products/nhdesigner

gekauft und komme als O/R-Einsteiger damit sehr gut zu recht.

Viele Grüße