verwendetes Datenbanksystem: <SQLBase 11.x und 12.x, MySQL>
Ich muss eine Anwendung primär für die oben angegebenen Versionen von SQLBase entwickeln. Dadurch stehen mit Technologien wie z. B. EF nicht zur Verfügung, denn EF steht erst mit der Version 12.3 zum ersten Mal zur Verfügung, wir jedoch ältere Versionen unterstützen müssen.
Nun stehen uns ODBC, OLEDB, ADO und .NET Data Provider zur Verfügung. Dazu habe ich ein paar Fragen:
Bisher habe ich in Verbindung mit dieser Datenbank lediglich den .NET Data Provider benutzt. Das funktioniert auch gut. Aber weil eventuell auch MySQL und vielleicht auch der SQLServer irgendwann benutzt werden sollten, frage ich mich, ob im Hinblick auf den Sourcecode nicht besser wäre, auf OLEDB oder ODBC zu setzen – wenn ich das richtig sehe, müsste ich im
Idealfall lediglich die Verbindungszeichenkette ersetzen und ich könnte meine Anwendung mit einem anderen Datenbanksystem ausführen.
Beim .NET Data Provider ist zwar die Funktionalität mehr oder weniger normiert, die Methoden der einzelnen Datenbanksystemen heißen jedoch anders wie unten im Beispiel:
C#-Code: |
SQLBaseConnection con = new SQLBaseConnection();
|
C#-Code: |
MySqlConnection con = new MySqlConnection();
|
Das würde bedeuten, entweder bedingte Kompilierung, Source doppeln oder einen selbst entwickelten Wrapper nutzen (ich würde das wahrscheinlich so realisieren).
Wie sehen die Experten das? Vielleicht drehe ich mich wieder nur im Kreis und sehe den Wald vor lauter Bäumen nicht.
Vielen Dank und ein gutes Neues nachträglich!
Grüße