sql >> Base de Datos >  >> RDS >> Mysql

¿Problemas al usar MS Access como front-end para un back-end de base de datos MySQL?

Tenía una aplicación que funcionaba de la misma manera:una interfaz de MS Access para un backend de MySQL. Fue un dolor tan grande que terminé escribiendo una interfaz Win32 en su lugar. Desde la parte superior de mi cabeza, me encontré con los siguientes problemas:

  • Parece que el desarrollo del enlace ODBC cesó hace mucho tiempo. Hay varias versiones diferentes flotando, muy confusas. El enlace ODBC no es compatible con Unicode/UTF8, y recuerdo que también hubo otros problemas (aunque algunos podrían solucionarse con una configuración cuidadosa).
  • Probablemente desee modificar manualmente su esquema de base de datos para que sea compatible con MS Access. Veo que ya se enteró de las claves sustitutas necesarias (es decir, claves primarias int) :-)
  • Debe tener en cuenta que es posible que necesite utilizar consultas de transferencia para realizar manipulaciones SQL más sofisticadas de la base de datos MySQL.
  • Tenga cuidado al usar mucho VBA, ya que tiende a corromper su archivo de interfaz. Comprimir regularmente la base de datos (usando el menú principal, Herramientas | Utilidades de la base de datos | Comprimir y restaurar, o algo así --- estoy usando la versión holandesa) y haciendo muchas de copias de seguridad es necesario.
  • El acceso tiende a causar mucho tráfico en la red. Como, lotes realmente enormes. No he sido capaz de encontrar una solución para eso. ¡Se recomienda usar un monitor de red si desea controlarlo!
  • Access insiste en almacenar valores booleanos como 0/-1. En mi humilde opinión, 0/+1 tiene más sentido, y creo que también es la forma predeterminada de hacer las cosas en MySQL. No es un gran problema, pero si sus casillas de verificación no funcionan, definitivamente debería marcar esto.

Una posible alternativa sería colocar el backend (con los datos) en una unidad compartida. Recuerdo que esto está bien documentado, también en la ayuda. Es posible que desee echar un vistazo a algunos consejos generales sobre la división en una interfaz y un backend y código que se vuelve a conectar automáticamente al backend al inicio ; También puedo enviarle más código de muestra o publicarlo aquí.

De lo contrario, es posible que también desee considerar MS SQL. No tengo experiencia con eso, ¡pero supongo que funciona mucho mejor junto con MS Access!