Probleme beim Import/Abgleich von Daten von MySQL per ODBC

Beim Import/Abgleich mit einem MySQL Server kann es vorkommen, dass der Import nicht erfolgreich durchgeführt werden kann. Nach Auswahl der zu importierenden/abzugleichenden Tabelle zeigt der Import-Assistent die folgende Hinweis-Meldung an:

Es ist ein Fehler aufgetreten.Die Datenbankschnittstelle meldet:Die Datenbank konnte nicht geöffnet werden.​

Auf dem gleichen System ist der Zugriff auf die MySQL Datenbank jedoch problemlos möglich?

Aufschluss über dieses Verhalten liefert eine Debwin Log-Datei, in welcher der genaue Fehler protokolliert ist. Die Ausgaben sehen wie folgt aus:

…cmda09:11:38:57.966 00000B28      server: (ODBC)  database: (MySQL Server)  table: („country“)cmda09:11:38:57.966 00000B28      CDAOdbc::OpenConnection()->:SELECT * FROM „country“ cmda09:11:38:57.982 00000B28      SQL_SCROLL_OPTIONS = 00000011 (nResult=0)cmda09:11:38:57.982 00000B28      CDAOdbc::OpenConnection()->Excecute…cmda09:11:38:57.982 00000B28      SAException (42000 [MySQL][ODBC 5.3(a) Driver][mysqld-5.6.15-enterprise-commercial-advanced]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use necmda09:ar ‚„country“‘ at line 1)cmda09:11:38:57.982 00000B28      CDAOdbc::CloseDatabase…

Wie zu erkennen ist, schlägt die Abfrage der Datensätze der Tabelle „country“ fehl. Ursache hierfür ist die Syntax der SQL-Abfrage, welche der cRM an den ODBC-Treiber übergibt:

SELECT * FROM "country"


Der MySQL Server kann mit den doppelten Anführungszeichen " nicht umgehen und erwartet an dieser Stelle sogenannte Backticks (`). D.h. die von MySQL erwartete Abfrage müsste wie folgt aussehen:

SELECT * FROM `country`


Um den Zugriff dennoch zu erhalten, muss in der Konfiguration des ODBC-Treibers die Eigenschaft „Initial Statement“ mit folgenden Inhalt gefüllt werden:

SET SESSION sql_mode='ansi'




Anschließend kann die SQL Abfrage an den ODBC-Treiber korrekt übergeben und interpretiert werden, so dass dem Import/Abgleich nichts mehr im Wege steht.

IDKBAD001339 KBAD001339