
Kapitel 9: MySQL-APIs 539
9.3.5 Programme, die bekanntermaßen mit MyODBC
zusammenarbeiten
Die meisten Programme sollten mit MyODBC zusammenarbeiten. F¨ur die unten
aufgef¨uhrten haben wir es selbst getestet oder haben die Best¨atigung eines Benutzers, dass
es l¨auft.
Programm
Anmerkung
Access Um Access zum Laufen zu bringen:
• Wenn Sie Access 2000 verwenden, sollten Sie die neuesten (Version 2.6
oder h¨oher) Microsoft-MDAC (Microsoft Data Access Components) von
http://www.microsoft.com/data herunterladen. Dies wird folgenden
Bug in Access beheben: Wenn Sie Daten nach MySQL exportieren,
werden Tabellen- und Spaltennamen nicht spezifiziert. Ein anderer
Weg, diesen Bug zu umgehen, ist, MyODBC auf Version 2.50.33 und
MySQL auf Version 3.23.x zu aktualisieren, welche beide zusammen einen
Workaround f¨ur diesen Bug implementiert haben.
Ausserdem sollten Sie das Microsoft-Jet-4.0-Service-Pack 5 (SP5) einspie-
len, welches hier http://support.microsoft.com/support/kb/articles/Q
239/1/14.ASP gefunden werden kann. Dies behebt einige F¨alle, in denen
Spalten als #deleted# in Access markiert sind.
Beachten Sie, dass Sie, wenn Sie die MySQL-Version 3.22 verwenden, den
MDAC-Patch einspielen und MyODBC 2.50.32 oder 2.50.34 und h¨oher
benutzen m¨ussen, um dieses Problem zu umgehen.
• F¨ur alle Access-Versionen sollten Sie die MyODBC-Optionen auf Return
matching rows setzen. F¨ur Access 2.0 sollten Sie ausserdem Simulate
ODBC 1.0 einschalten.
• Sie sollten einen Timestamp in alle Tabellen einf¨ugen, die Sie aktualisieren
wollen. F¨ur maximale Portablilit¨at werden TIMESTAMP(14) oder einfach
TIMESTAMP anstelle von TIMESTAMP(X)-Variationen empfohlen.
• Sie sollten einen Prim¨arschl¨ussel in Ihren Tabellen haben. Falls nicht,
k¨onnen neue oder ge¨anderte Zeilen als #DELETED# erscheinen.
• Verwenden sie ausschließlich DOUBLE-Float-Felder. Access kann nicht
richtig mit "Single Floats" vergleichen. Die Symptome sind, dass entweder
neue oder ge¨anderte Zeilen als #DELETED# erscheinen oder Sie keine Zeilen
finden oder ¨andern k¨onnen.
• Wenn Sie eine Tabelle mit MyODBC verbinden, die eine BIGINT-Spalte hat,
werden die Ergebnisse als #DELETED angezeigt. Sie umgehen das Problem
folgendermaßen:
• F¨ugen Sie eine weitere TIMESTAMP-"Dummy-Spalte" hinzu, am besten
TIMESTAMP(14).
• W¨ahlen Sie ’BIGINT Spalten zu INT wandeln’ im Verbindungsdialog
des ODBC-DSN-Administrators.
• Entfernen Sie die Tabellenverkn¨upfung aus Access und stellen Sie sie
wieder her.
Kommentare zu diesen Handbüchern