Spalteninformationen aus ODBC-Datenquelle (C#)

Matscher

Grünschnabel
Guten morgen zusammen,

ich hätte mal eine Frage, hab auch schon euer Forum durchsucht hab nichts direkt in die Richtung gefunden.

Ich möchte mittels C# eine Datenquelle (zum Beispiel eine MySQL-DB) zu einer anderen umwandeln (zum Beispiel MS Access).
Verbinden zu beiden Quellen: Kein Problem.
Auslesen aller Tabellen und Tabellen-Inhalte: Kein Problem.
Nur dann das wieder einfügen, dazu brauch ich ja nun einen Datentyp.

Ich weiß es gibt die Funktion GetSchemaTable() von dem OdbcDataReader.
Nur der gibt mir anschließend die Datentypen als C#-Format wieder, d.h. System.Int64 oder System.String usw.

Gibt es eine Möglichkeit die richtigen Datentypen auszulesen? Bzw. die richtigen Bezeichnungen der Datentypen.
Eventuell eine andere Funktion außer GetSchemaTable()!?


Mit freundlichem Gruß
Matscher
 
Hallo nochmal zusammen,

hab jetzt die ganze Zeit rumgesucht.
Hab ein selbst eine Funktion gefunden:
- OdbcDataReader.GetDataTypeName(int i);

Die gibt mir das ziemlich allgemein gehalten für SQL zurück. Also CHAR, INTEGER...
nun kommt ja aber mal der Fall das die gewählte Datenbank MS Access ist. Dort gibts den Datentyp Memo, der ja zum Beispiel den Datentyp Text aus MySQL ersetzt.
Will sagen: Andere Datenbanken haben häufig andere Formate.
Da bin ich auf der Internetseite von MSDN auf die Funktion: GetProviderSpecificFieldType(int i); gestoßen (Gibt den anbieterspezifischen Feldtyp der angegebenen Spalte zurück.).
Wollte ich natürlich sofort ausprobieren. Aber nix da. Die Funktion gibts aus irgend einen mir nicht bekannten Grund nicht. Auf der MSDN steht das man mind. .NET 2.0 braucht. Das habe ich aber auch .NET 2.0.

Hat jemand ne Ahnung warum die Funktion fehlen könnte?

Mit freundlichem Gruß
Matscher
 
Zurück