Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[Gelöst] Wie mache ich meine Datenbank-Implementierung unabhängig?
pollito
myCSharp.de - Member

Avatar #avatar-3521.gif


Dabei seit:
Beiträge: 185

Themenstarter:

[Gelöst] Wie mache ich meine Datenbank-Implementierung unabhängig?

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von pollito am .
René
private Nachricht | Beiträge des Benutzers
david.m
myCSharp.de - Member



Dabei seit:
Beiträge: 108

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
pollito
myCSharp.de - Member

Avatar #avatar-3521.gif


Dabei seit:
Beiträge: 185

Themenstarter:

beantworten | zitieren | melden

Vielen Dank! Genau das richtige fürs Wochenende... :-( Es ist aber genau das, was ich suchte und nicht kannte.

Schönes Wochenende!

René
René
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15510
Herkunft: BW

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
pollito
myCSharp.de - Member

Avatar #avatar-3521.gif


Dabei seit:
Beiträge: 185

Themenstarter:

beantworten | zitieren | melden

Zitat von Abt
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é
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #avatar-3299.jpg


Dabei seit:
Beiträge: 3699
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

Schau auch hier :
http://download.seven-c.de/files/DatenbankenHowTo.htm#10

Kapitel 11 "Datenbankunabhängige Programmierung"

Grüße Bernd
Die kostenlose Unternehmenssoftware : Die Quasar-3 Community Version
Workshop : Datenbanken mit ADO.NET
private Nachricht | Beiträge des Benutzers
pollito
myCSharp.de - Member

Avatar #avatar-3521.gif


Dabei seit:
Beiträge: 185

Themenstarter:

beantworten | zitieren | melden

Nochmals vielen Dank an euch alle! Eure Tipps haben mir weiter geholfen.
LG
René
René
private Nachricht | Beiträge des Benutzers