C# ODBC - Datenbankschema

Danielku15

Erfahrenes Mitglied
Hallo.
Also um mal vorweg zu greifen dass ich nicht gesucht habe. Ich bin seit 3 Tagen auf der Suche nach einer Lösung nur entweder fehlt mir noch komplett das Verständnis oder ich suche im falschen Themenbereich.

Also. Ich hatte mir das ganze so vorgestellt. Ich hole mir die verfügbaren ODBC Datenquellen aus der Registery und lasse diese in einem Dialog anzeigen und den User wählen welche Quelle er verwenden will. Dann Verbinde ich zu dieser Quelle und lese das Datenbankschema aus. (Bis zum Connecten klappt alles). Nur weiter weiß ich nicht.
Kann ich nun über eine derartige, oder auch andere Connection (im Moment über System.Data.Odbc.OdbcConnection) das Datenbankschema auslesen. Über natives Odbc geht das nicht hab ich herausgefunden. Aber es muss ja irgendwie gehen. Scheinbar regeld Odbc nur die Datenbankverbindung aber nicht die Sql-Dialekte sprich ich müsste für jeden Datenbanktyp den passenden Sql haben. Gibts nicht eine Art Klassenbibliothek die diese ganzen Datenbanken übergreifend anspricht? Sprich es gibt Datentypen welche für alle gültig sind.

Vielleicht gibts auch andere Möglichkeiten mein Ziel zu erreichen. Ich möchte nämlich ein beliebiges Datenbankschema (Nur die Tabellen mit Aufbau) aus einer Datenbank in einer Klassenstruktur abbilden um darauf damit Arbeiten zu können. Nur wie komme ich zu einer Möglichkeit über die Datenbanksysteme hinweg ein global gültiges Schema in einer Klassenstruktur darzustellen.

Gruß Daniel
 
Schau dir die Methode GetSchema der Connection an. Sollte übrigens jede Connection, die als .NET Data Provider implementiert ist aufweisen, da diese über DbConnection vererbt wird. Ob die Methode dann jedoch tatsächlich implementiert ist, ist eine andere Geschichte.

Probier mal ob du damit an die Informationen herankommst.
 
Danke. Eigentlich stand das genau schon in meinem Coding. Nur ich Spezialist war nur wieder mal zu faul um die Datatable richtig dem Datagridview zuzuweisen und somit die Daten anzuzeigen. Funktioniert jetzt einwandfrei. Damit hab ich mir wieder viel Arbeit auferlegt. Und zwar dafür zu sorgen dassich das ganze nun schön zum Parsen bekomme um damit weiterzuarbeiten. Also zu filtern was ich benötige und was wichtig ist.
Aber vielen dank.

Gruß Daniel
 
Zurück