Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Probleme bei der Verwendung von MS Access als Front-End für ein MySQL-Datenbank-Back-End?

Ich hatte eine Anwendung, die ähnlich funktionierte:ein MS Access-Frontend für ein MySQL-Backend. Es war so ein großer Schmerz, dass ich stattdessen ein Win32-Frontend schrieb. Aus dem Kopf heraus bin ich auf folgende Probleme gestoßen:

  • Die Entwicklung des ODBC-Links scheint schon lange aufgehört zu haben. Es schwirren verschiedene Versionen herum --- sehr verwirrend. Der ODBC-Link unterstützt Unicode/UTF8 nicht, und ich erinnere mich, dass es auch andere Probleme damit gab (obwohl einige durch sorgfältige Konfiguration überwunden werden konnten).
  • Wahrscheinlich möchten Sie Ihr DB-Schema manuell anpassen, um es mit MS Access kompatibel zu machen. Wie ich sehe, haben Sie sich bereits über die benötigten Ersatzschlüssel (d. h. int-Primärschlüssel) informiert :-)
  • Sie sollten bedenken, dass Sie möglicherweise Pass-Through-Abfragen verwenden müssen, um anspruchsvollere SQL-Manipulationen der MySQL-Datenbank durchzuführen.
  • Seien Sie vorsichtig, wenn Sie viel VBA verwenden, da dies dazu neigt, Ihre Frontend-Datei zu beschädigen. Die Datenbank regelmäßig komprimieren (über das Hauptmenü, Extras | Datenbank-Dienstprogramme | Komprimieren und wiederherstellen oder so ähnlich --- ich verwende die niederländische Version) und viel machen von Backups erforderlich.
  • Der Zugriff verursacht in der Regel viel Netzwerkverkehr. Wirklich riesige Mengen. Ich habe keine Lösung dafür finden können. Wenn Sie das im Auge behalten möchten, empfiehlt sich die Verwendung eines Netzwerkmonitors!
  • Access besteht darauf, boolesche Werte als 0/-1 zu speichern. IMHO ist 0/+1 sinnvoller, und ich glaube, dass dies auch die Standardmethode in MySQL ist. Kein großes Problem, aber wenn Ihre Kontrollkästchen nicht funktionieren, sollten Sie dies unbedingt überprüfen.

Eine mögliche Alternative wäre, das Backend (mit den Daten) auf ein gemeinsames Laufwerk zu legen. Ich erinnere mich, dass dies gut dokumentiert ist, auch in der Hilfe. Vielleicht möchten Sie einen Blick auf einige allgemeine Ratschläge zur Aufteilung in ein Frontend und ein Backend werfen und Code, der sich beim Start automatisch wieder mit dem Backend verbindet ; Ich kann Ihnen auch weiteren Beispielcode schicken oder ihn hier posten.

Andernfalls sollten Sie auch MS SQL in Betracht ziehen. Ich habe keine Erfahrung damit, aber ich vermute, dass es zusammen mit MS Access viel besser funktioniert!