sql >> Database teknologi >  >> RDS >> Mysql

Problemer med at bruge MS Access som front-end til en MySQL-database-backend?

Jeg havde et program, der fungerede på samme måde:en MS Access-frontend til en MySQL-backend. Det var så stor en smerte, at jeg endte med at skrive en Win32-frontend i stedet for. Fra toppen af ​​mit hoved stødte jeg på følgende problemer:

  • Udviklingen af ​​ODBC-linket ser ud til at være ophørt for længe siden. Der er forskellige versioner, der flyder rundt --- meget forvirrende. ODBC-linket understøtter ikke Unicode/UTF8, og jeg kan huske, at der også var andre problemer med det (selvom nogle kunne overvindes ved omhyggelig konfiguration).
  • Du vil sandsynligvis manuelt justere dit db-skema for at gøre det kompatibelt med MS Access. Jeg kan se, at du allerede har fundet ud af de nødvendige surrogatnøgler (dvs. int primære nøgler) :-)
  • Du bør huske på, at du muligvis skal bruge pass-through-forespørgsler til at udføre mere sofistikerede SQL-manipulationer af MySQL-databasen.
  • Vær forsigtig med at bruge masser af VBA, da det har en tendens til at ødelægge din frontend-fil. Regelmæssig komprimering af databasen (ved hjælp af hovedmenuen, Værktøjer | Databaseværktøjer | Komprimer og gendan, eller sådan noget --- jeg bruger den hollandske version) og lav masser sikkerhedskopier er nødvendig.
  • Adgang har en tendens til at forårsage masser af netværkstrafik. Ligesom virkelig store partier. Det har jeg ikke kunne finde en løsning på. Det anbefales at bruge en netværksmonitor, hvis du vil holde øje med det!
  • Adgang insisterer på at gemme booleaner som 0/-1. IMHO, 0/+1 giver mere mening, og jeg mener, at det også er standardmåden at gøre ting på i MySQL. Ikke et stort problem, men hvis dine afkrydsningsfelter ikke virker, bør du helt sikkert tjekke dette.

Et muligt alternativ ville være at sætte backend (med data) på et fællesdrev. Jeg kan huske, at dette er veldokumenteret, også i hjælpen. Du vil måske tage et kig på nogle generelle råd om opdeling i en frontend og en backend og kode, der automatisk genopretter forbindelse til backend ved opstart ; Jeg kan også sende dig noget mere prøvekode eller poste det her.

Ellers vil du måske også overveje MS SQL. Jeg har ikke erfaring med det, men jeg formoder, at det fungerer meget bedre sammen med MS Access!



  1. Vil du reservere mySQL auto-incremented ID'er?

  2. Sådan opretter du en database fra et script i MySQL

  3. Returnerer et resultatsæt

  4. MySQL Performance snydeark