Mysql
 sql >> база данни >  >> RDS >> Mysql

Проблеми с използването на MS Access като преден край на база данни на MySQL?

Имах приложение, което работеше по същия начин:интерфейс на MS Access към бекенд на MySQL. Беше толкова голяма болка, че в крайна сметка вместо това написах интерфейс на Win32. От върха на главата си срещнах следните проблеми:

  • Разработването на ODBC връзката изглежда е спряно отдавна. Има различни различни версии, плаващи наоколо --- много объркващо. ODBC връзката не поддържа Unicode/UTF8 и си спомням, че имаше и други проблеми с нея (въпреки че някои можеха да бъдат преодолени чрез внимателна конфигурация).
  • Вероятно искате да настроите ръчно вашата db схема, за да я направите съвместима с MS Access. Виждам, че вече сте разбрали за необходимите сурогатни ключове (т.е. първични ключове int) :-)
  • Трябва да имате предвид, че може да се наложи да използвате преходни заявки, за да извършвате по-сложни SQL манипулации на базата данни MySQL.
  • Внимавайте с използването на много VBA, тъй като това има тенденция да повреди вашия фронтенд файл. Редовно компресиране на базата данни (с помощта на главното меню, Инструменти | Помощни програми за база данни | Компресиране и възстановяване или нещо подобно --- използвам холандската версия) и правене на лотове необходимо е резервно копие.
  • Достъпът обикновено причинява много мрежов трафик. Например, наистина огромни партиди. Не успях да намеря решение за това. Използването на мрежов монитор се препоръчва, ако искате да следите това!
  • Достъпът настоява да се съхраняват булеви стойности като 0/-1. ИМХО, 0/+1 има повече смисъл и вярвам, че това е и стандартният начин за правене на нещата в MySQL. Не е голям проблем, но ако вашите квадратчета за отметка не работят, определено трябва да отметнете това.

Една възможна алтернатива би била да поставите бекенда (с данните) на споделен диск. Спомням си, че това е добре документирано, също и в помощта. Може да искате да разгледате някои общи съвети за разделяне на преден и бекенд и код, който автоматично се свързва отново с бекенда при стартиране ; Мога също да ви изпратя още примерен код или да го публикувам тук.

В противен случай може да искате да помислите и за MS SQL. Нямам опит с това, но предполагам, че работи заедно с MS Access много по-добре!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо заявките, изпълнявани от mysql workbench, отнемат много повече време, отколкото директното им изпълнение от mysql cli?

  2. Mysql InnoDB грешка 32 в Windows

  3. импортиране на CSV в phpmyadmin

  4. ImportError:Няма модул с име „MySQL“

  5. Списък със съхранени процедури/функции Mysql команден ред