Anwendung mit/für 2 DB

beso

Mitglied
Ich will in eine Anwendung in .Net zwischen 2 DB arbeiten können. Durch z.B. einen Auswahl soll ein DB ( Access oder MS SQL ) gewählt werden. Momentan habe ich eine Anwendung mit Access DB.
Idee: Ohne das ich jetzt den code für eine weitere MSSQL Verbindung und die Abfragen 2 mal in der Anwendung schreibe, kann man eine zwischen Sicht programmieren dass alle Access Abfragen ( falls eine MSSql Verbindung ausgewählt ist) in MSSQL umwandelt…?
Gibt es hierzu andere Ideen oder Vorschläge(Ein Bsp. wäre super) wie so was funktionieren kann?
Vielen Dank..
mfg
 

zioProduct

Erfahrenes Mitglied
Du willst zB:
Code:
Select * from tabelleACC

Für Access und Sql brauchen können, auch wenn die Tabelle tabelleACC in SQL tabelleSQL heist?

Falls dies so ist, sehe ich nur eine möglichkeit wenn du eine "Sprachdatenbank" anlegst im Sinne von:
Code:
CodeVariabel || SqlTabelle || AccessTabelle

stdTabelle     || tableSQL   || tableACC
Diese legst du entweder als XML file ab, oder überlegst dir was anders. Anschliessend baust du deine Abfragen wie folgt auf:

Code:
"Select * from" + stdTabelle
Und definierst, in welcher Tabelle du arbeiten möchtest. Zb indem du ne DropDown hast, dort steht sql, und acces. Wenn du sql ausliest, sucht er in deiner "Sprachtabelle" alle variabeln und füllt sie mit Spalte SqlTabelle...

*************************

Wenn du zweimal genau die selbe DatenBank hast, einfach einmal Acces, und einmal MySql, alles identisch ist (aber wenig sinn macht) brauchst du nur den ConnectionString neu zu definieren, und diesen für deine DropDown herzurichten.

Ansonsten, es ist Freitag, ich schnall noch nicht was du willst ;D
 

beso

Mitglied
Es ist genau die gleiche Datenbank (gleiche Tabellen, Spalten,..) Die Anwendung soll die Möglichkeit haben entweder durch ein Access DB oder MS SQL DB seine Daten zuholen, speichern.
Ich versteh den unterschiede zwischen Access, SQL (die Verbindung und die Abfragen..) nicht.
Sind die Abfragen ( SELECT,…tabelle… ) für beide Verbindung gleich oder ist der Aufbau bei beiden unterschiedlich?
Verbindungsaufbau: Wie kann ein Wechsel stattfinden? Kann ein Wechsel auch während des Programmsablaufs folgen oder muss man explizit sagen am Programmstart eine Verbindungsart wählen?

ps. Freitag ..hast recht,… aber dein Vorschlag ConnectionString neu definieren und DropDown verstehe auch nicht… bin auch neu in der DBprogrammierung :)
 

Nico Graichen

Erfahrenes Mitglied
Hi

Da sowohl der SQL Server als auch Access per OleDB ansprechbar sind, bräuchtest du nur den ConnectionString zu ändern (eigentlich sollte das ändern des OleDB-Providers reichen). Alle anderen Ding kannst du so weiter verwenden, wie du sie bisher auch genutzt hast. Aufpassen muss du nur, wenn du Funktionen verwendest, die vom SQL-Standard abweichen, und nur unter dem SQL Server oder nur unter Access verfügbar sind.

Edit:
Hab ich übersehen:
ps. Freitag ..hast recht,… aber dein Vorschlag ConnectionString neu definieren und DropDown verstehe auch nicht… bin auch neu in der DBprogrammierung
Du musst doch deinem DataAdapter eine Connection mitteilen?!. Diese braucht einen ConnectionString, um zu wissen wo steht der Server, wie heißt die DB, als wer darf ich drauf zugreifen, .... Diesen musst du nur, abhängig vom gewählten DBMS anpassen un die Connection öffnen.
 
Zuletzt bearbeitet:

beso

Mitglied
Hallo niggo,

für das erste war das ein sehr schöner Beitrag, danke für die Information….
Ich habe jetzt herausgefunden dass die Anwendung bzw. das Datumformat bei Access und bei SQL anders programmiert wird… gibt es eine Übersicht/Buch, online Beschreibung… was die unterschiede beim programmieren (Datenzugriff ...) mit Access und mit Sql anders sind.

2. Wie wurde man in eine Anwendung fragen ist es eine SQL verbindung oder ist es ein Access... damit die daten aus der entsprechende DB gefragt werden ?

danke im vr.
 
Zuletzt bearbeitet:

Nico Graichen

Erfahrenes Mitglied
beso hat gesagt.:
für das erste war das ein sehr schöner Beitrag, danke für die Information….
Ich habe jetzt herausgefunden dass die Anwendung bzw. das Datumformat bei Access und bei SQL anders programmiert wird… gibt es eine Übersicht/Buch, online Beschreibung… was die unterschiede beim programmieren (Datenzugriff ...) mit Access und mit Sql anders sind.
Die Änderung von Formaten sollte eigentlich der OleDB-treiber für dich übernehmen. Abhängig von dem Treiber, passt er z.B. das Datumsformat an das entsprechende DBMS an. (vorrausgesetzt, du übergibst auch ein gültiges Datumsformat)
Schau dir am besten mal die Beispiele zu OleDBConnection, OleDBDataAdapter, ... an.
beso hat gesagt.:
2. Wie wurde man in eine Anwendung fragen ist es eine SQL verbindung oder ist es ein Access... damit die daten aus der entsprechende DB gefragt werden ?
Das bleibt völlig dir überlassen. Ich würde dir nur raten, dass man die DBMS-Auswahl nur ändern kann, wenn keine Connection offen ist.
Ob du das nun per RadioButton, ComboBox, oder oder oder machst, ist dir überlassen.


PS: Bitte verwechsel nicht den SQL Server mit SQL.
SQL ist eine Abfragesprache, der SQL Server ein DBMS.