Access front-end en MySQL

Status
Niet open voor verdere reacties.

linkav

Gebruiker
Lid geworden
13 jun 2007
Berichten
465
Beste forummers,

Ik heb een Access-front-end en deze is gekoppeld aan een Access-back-end.

Omdat de back-end regelmatig crasht/vast zit is mij gevraagd om de back-end over te zetten naar MySQL.

Ik heb een test-omgeving opgezet en met Bullzip de Access-tabellen overgezet naar MySQL.

Bij het testen van de front-end (waarin de MySQL-tabellen gekoppeld zijn) kom ik volgende problemen tegen:
1) Als er 1 van volgende tekens in de tabellen zit, geeft dit problemen (ô,ö, beta-teken, ....). Als door de tabel gebladerd wordt, krijg je "#Naam" vanaf dat er een record is met een 'speciaal' teken
2) Als in een tabel gezocht wordt, gaat dit merkelijk trager dan in de Access-tabel.

Komen deze problemen je bekend voor? Heb je eventueel een oplossing dan hoor ik het graag.
 
Problemen met speciale tekens betekent dat er iets mis is met codering van de tabellen, of een eenmalig probleem door het overzetten van de data. Tabellen zouden iets van een UTF codering moeten hebben.

Kan van je queries afhangen. Als je bijv. steeds een hele tabel ophaalt en client-side de gewenste gegevens filtert, kan dat een flinke vertraging opleveren. Maar traagheid kan nog een heleboel andere oorzaken hebben. Geheugen in de server?
 
Beste,

Het rare is dat het resultaat van de query 'SELECT * FROM tbl_parameterschemie WHERE CodeParameter = 'C1130' 'in ik in HeidiSQL het volgende geeft (let op het bete teken in het veld 'Methode')
HeidiSQL.PNG

en in Access geeft die zelfde query:
Access.PNG

Met 'SELECT * FROM tbl_parameterschemie WHERE CodeParameter = 'C1129' krijg ik in HeidiSQL
HeidiSQL C1129.PNG

en in Access
Access C1129.PNG

Kan de codering hier mee te maken hebben?
 
Waarom MySQL en niet SQL Server Express? Dan heb je dit soort problemen niet.
 
Het probleem mbt de karakters is opgelost !!!

In de dsn-file (ODBC-koppeling) de volgende regel toe gevoegd:
CHARSET=UTF8MB4
 
Beste mensen,

Ik zit vrijwel met hetzelfde probleem. Het ë teken (van bijvoorbeeld België) komt wél goed in mijn MySQL database. (Te zien via Workbench), maar bij het koppelen naar het Access bestand krijg ik de melding: #VERWIJDERD.
Met andere woorden: ik kan mijn MySQL database perfect vullen via Access, maar kan die vervolgens niet meer goed inlezen via Access.

Ik heb al verschillende Charset's geprobeerd... echter zonder resultaat.
Zowel in de ODBC koppeling, als in het schema van de tabellen (én database).
Volgende Charset's zijn al geprobeerd: Latin1 Latin1-bin; UTF8 UTF8-bin; UTF8mB4 UTF8mB4-bin
Zie bijlagen:
 

Bijlagen

  • Workbench.png
    Workbench.png
    36,3 KB · Weergaven: 45
  • ODBC.png
    ODBC.png
    102,2 KB · Weergaven: 48
Laatst bewerkt:
Dag Luc,

Het probleem zit hem niet in de karakterset van de database en de tabellen maar in de ODBC koppeling. Heb je het dsn-bestand in de map documenten al aangepast?
Volgende regels heb ik toegevoegd en het werkt nu:
Code:
CHARSET=UTF8
DFLT_BIGINT_BIND_STR=1
FOUND_ROWS=1
 
Het DSN bestand vind ik niet direct terug :(. Ik vermoedde dat het om de ODBC koppeling ging.
Ik moet hier nu helaas direct vertrekken voor een tweetal uur... maar ik zoek er straks opnieuw naar. Ik laat zeker iets weten of het al dan niet lukt.

alvast bedankt voor je antwoord.
 
Dag Luc,

Bij mij staan de ODBC-koppelingen (wat dsn-bestanden zijn en bewerkt kunnen worden met notepad of kladblok) in de map 'Documenten'. De naam van de ODBC-koppelingen heb je zelf kunnen kiezen.
Knipsel.JPG

Gr,
Ariane
 
Beste,

Schijnbaar zit er helemaal géén dsn bestand bij mijn documenten.
Evenmin vind ik het terug via zoeken op *.dsn.

Toch ben ik er van overtuigd dat je de oplossing aanreikt.
Ik gebruik momenteel de ODCB Data sources (32 bit).
Misschien jij iets anders? 64 bit misschien?
En voor mysql 8.0.
Office 2013
 
Dag Luc,

In het configuratie-scherm kan je terug vinden waar de dsn-bestanden staan.
Ga als volgt te werk:
1)Ga naar het configuratie scherm en sorteer op 'kleine pictogrammen' en ga dan naar 'systeembeheer':
Knipsel-1.JPG

2) Selecteer dan ODBC-gegevensbronnen 32-bits of 64-bits)
Knipsel-2.JPG

3) Op het tabblad 'Bestands-DSN' kan je zien in welke folder de bestanden staan:
Knipsel-3.JPG
 
Dat DSN bestand is hier absoluut niet te vinden. Wordt wellicht gewoonweg niet aangemaakt.
Ik blijf even verder zoeken op welke manier het wél aangemaakt wordt. Of waardoor ik er eventueel over kijk. 't Kan dus wel wat duren alvorens ik nogmaals reageer, maar ik ben er mee bezig.
Ik heb nu in elk geval weer iets nieuws om op te zoeken. Alvast bedankt.
 
Bete Luc,

Hoe raadpleeg/bewerk je in Access je tabellen? Via vba een connection-string? Of via koppelingsbeheer?
 
Via koppelingsbeheer.
Momenteel doe ik het zo: ik koppel de tabellen (uitsluitend Access) via koppelingsbeheer. Wanneer de database verplaatst wordt, merkt het bestand dat de koppelingen verbroken zijn, en wordt er automatisch gevraagd waar de tabel nu wél zit (Dit is VBA code).
Dit alles werkt uitstekend. Het gaat om echt zéér uitgebreide Access bestanden, waar iedereen uiterst tevreden over is.
De vraag komt nu, om Access over het internet te laten werken.
De koppeling van Access naar Share point is teleurstellend. Bij mijzelf, en zeker bij de gebruikers van deze programma's duurt de koppeling véél te lang... soms een kwartier, en misschien zelfs langer.

Vandaar nu dat ik er over denk om de tabellen over te zetten naar MySql, in de hoop dat dit sneller gaat. Ik heb hiervoor al wat boeken geraadpleegd, en met behulp van Workbench, en Bullzip de tabellen in MySQL gezet.
De connectie wordt op voorhand gemaakt via ODCB-connecties (configuratiescherm enz.), en dan in Access met OCDB koppelingen. (Dan heb ik de koppeling enkel te kiezen uit een lijst).

Waarom ik nu voor MySQL kies: Het is gratis... het gaat om relatief kleine databases (zeker geen miljoenen records), en ik ben momenteel Java aan het bestuderen, waardoor de overstap van Access naar Java wellicht eenvoudiger wordt, dan in een klap de ganse toepassing te moeten ombouwen.

Ik heb intussen ontdekt dat je rechtstreeks vanuit Access kan kiezen voor Nieuwe koppeling... (computergegevensbrond => nieuw)... misschien dat via die weg wel een dsn bestand gemaakt wordt?

Enfin... een hoop vragen, onzekerheden, en nog zaken die ik beter zelf eerst test alvorens hier verder vragen te stellen.
 
Dag Luc,

Bij een klant van mij ben ik ook overgestapt van Access tabellen (back-end) naar MySQL. Er zijn wel een aantal zaken waar je op moet letten, maar dit is te bekijken van toepassing tot toepassing.

Ik wil je altijd verder helpen.. Geef maar aan wat je probleem is.
 
Beste mensen : hier is het intussen ook gelukt. Met alle dank aan Ariane, voor de hulp, en het meedenken.
Aanvulling voor de oplossing: Ik gebruik volgende driver en Charset:
DRIVER : MySQL ODBC 8.0 ANSI Driver (Met de MySQL ODBC 8.0 Unicode Driver lukt het helemaal niet)
CHARSET : Latin1

Het dsn bestand waar Ariane van sprak krijg je enkel als je het via de ODBC koppeling in Access via 'Nieuw' doet.
Of via ODBC-Datasources (Niet meer in Access, maar via je configuratiescherm... je kan het ook opzoeken via de zoekfunctie in Windows), het derde tabblad.
Het verschil tussen een Bestands-DSN, en een Systeem-DSN is dat de bestands-DSN als een soort tekst-bestand wordt opgeslagen, en dus makkelijk te bewerken is, terwijl het Systeem-DSN ergens weet ik veel te vinden moet zijn... wellicht de registry of zoiets.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan