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:
SQLBaseConnection con = new SQLBaseConnection();
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
René
Bei allen hat man das Problem das sich die SQL Dialekte leicht unterscheiden, unabhängig ob man nun
ODBC, OLEDB, ADO und ADO.NET verwendet.
Verwende nicht die direkten Implementierungen der ADO.NET Providern, sondern die Abtraction aus dem Namensraum System.Data.Common
Und für die Erstellung entsprechende die Methoden der Klassen DbProviderFactory und DbProviderFactories.
Vielen Dank! Genau das richtige fürs Wochenende... 😦 Es ist aber genau das, was ich suchte und nicht kannte.
Schönes Wochenende!
René
René
Dazu kannst Du Dir auch einfach mal die Basics von ADO.NET anschauen.
Gerade die Architektur, die Du hier haben willst, ist darin gut dokumentiert und liefert Dir eigentlich alle Basics, die Du brauchst.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Gerade die Architektur, die Du hier haben willst, ist darin gut dokumentiert und liefert Dir eigentlich alle Basics, die Du brauchst.
Auch dir vielen Dank! Es wird gewiss nicht langweilig übers Wochenende.
René
Schau auch hier :
http://download.seven-c.de/files/DatenbankenHowTo.htm#10
Kapitel 11 "Datenbankunabhängige Programmierung"
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Nochmals vielen Dank an euch alle! Eure Tipps haben mir weiter geholfen.
LG
René
René