Habe in MySQL eine Tabelle mit einem Feld des Typs <B>CHAR(1)</B>. Eine Verbindung mit ADOConnection ueber ODBC zu der Datenbank klappte. Wenn ich jedoch versuche mit ADOTable oder ADOQuery die Tabelle mit dem Feldtyp CHAR(1) in Zugriff zu nehmen (Active = True) erhalte ich die Fehlermeldung <B>"Ungültige Feldgröße"</B>. Hat das schon jemand gehabt? (Delphi 6 steht zur Verfügung)
Announcement
Collapse
No announcement yet.
ADOConnection mit MySQL
Collapse
X
-
Der Zugriff auf MySQL mit ADOExpress über ODBC erreicht ein Maximum an Fehlerdrächtigkeit. Du versammelst hier viele unnötige (und im Zusammenspiel komplizierte Schichten).
Delphi-Anwendung -> ADOExpress -> ADO (ODBC) -> ODBC -> MyODBC -> libmysql.dll -> MySQL
Fürs erste bezüglich einer fehlerfreien ODBC-Konfiguration lies mal folgende FAQ's durch:
http://www.mysql.com/products/myodbc/faq_toc.html. Je nach DB-Zugriffsweg müssen im MySQL-ODBC-Treiber bestimmte einstellungen vorgenommen werden
Zweitens würde ich statt TADOTabel/TADOQuery auf jeden Fall TADODataSet nehmen, da TADOTabel/TADOQuery hier unnötig sind und nur eine Fehlerquelle darstellen.
Um ein minimum an Fehlerquellen einzubauen (MySQL-ODBC-Treiber muß installiert werden, MDAC installiert werden) würde ich einen nativ-Zugriff vorschlagen:
Delphi-Anwendung -> libmysql.dll -> MySQL
Für solch einen Weg gibt es fertige Komponenten (teilweise nicht ganz Kostenlos)
http://www.sqldirect-soft.com/
http://www.microolap.com/products/dac/mysqldac.htm
(Verwenden wir selbst ohne Probleme. Soll mit Version 2 ganz ohne libmysql.dll auskommen, also Delphi-Anwendung -> MySQL
Comment