sql >> Database >  >> RDS >> Mysql

Problemen met het gebruik van MS Access als front-end naar een MySQL-database-back-end?

Ik had een applicatie die ook werkte:een MS Access frontend naar een MySQL backend. Het was zo'n enorme pijn dat ik in plaats daarvan een Win32-frontend schreef. Uit mijn hoofd kwam ik de volgende problemen tegen:

  • De ontwikkeling van de ODBC-link lijkt al lang gestopt te zijn. Er drijven verschillende versies rond --- erg verwarrend. De ODBC-link ondersteunt Unicode/UTF8 niet, en ik herinner me dat er ook andere problemen mee waren (hoewel sommige kunnen worden opgelost door een zorgvuldige configuratie).
  • U wilt waarschijnlijk uw db-schema handmatig aanpassen om het compatibel te maken met MS Access. Ik zie dat je al weet wat de benodigde surrogaatsleutels zijn (d.w.z. int primaire sleutels) :-)
  • Houd er rekening mee dat u mogelijk pass-through-query's moet gebruiken om meer geavanceerde SQL-manipulaties van de MySQL-database uit te voeren.
  • Wees voorzichtig met het gebruik van veel VBA, aangezien dat de neiging heeft om uw frontend-bestand te beschadigen. Regelmatig de database comprimeren (met behulp van het hoofdmenu, Tools | Database utilities | Comprimeren en herstellen, of iets dergelijks --- ik gebruik de Nederlandse versie) en het maken van lots van back-ups is noodzakelijk.
  • Toegang veroorzaakt vaak veel netwerkverkeer. Zoals, echt enorme kavels. Ik heb daar geen oplossing voor kunnen vinden. Het gebruik van een netwerkmonitor is aan te raden als je dat in de gaten wilt houden!
  • Access staat erop booleans op te slaan als 0/-1. IMHO, 0/+1 is logischer, en ik geloof dat het ook de standaardmanier is om dingen in MySQL te doen. Geen groot probleem, maar als je selectievakjes niet werken, moet je dit zeker aanvinken.

Een mogelijk alternatief zou zijn om de backend (met de gegevens) op een gedeelde schijf te zetten. Ik herinner me dat dit goed gedocumenteerd is, ook in de help. Misschien wil je eens kijken naar algemeen advies over het splitsen in een frontend en een backend en code die automatisch opnieuw verbinding maakt met de backend bij het opstarten ; Ik kan je ook wat meer voorbeeldcode sturen, of deze hier posten.

Anders kunt u ook MS SQL overwegen. Ik heb daar geen ervaring mee, maar ik neem aan dat het veel prettiger samenwerkt met MS Access!



  1. hoe LINQ naar SQL te gebruiken met mySQL

  2. Selecteer rijen totdat een totaalbedrag is bereikt in een kolom (mysql)

  3. MSDTC op server 'server is niet beschikbaar'

  4. MySQL "NOT IN" query 3 tabellen