lunedì 11 dicembre 2017

Come collegarsi a Mysql da Access

L'altro giorno mi è sorta una nuova esigenza di tipo informatico, un qualcosa che non mi era mai capitato di dover fare, ovvero collegare access a mysql.
Capita che qualcuno abbia più dimestichezza con le maschere di access piuttosto che con phpmyadmin, quindi in questi casi, al posto di fargli usare un'interfaccia web, perchè non gli facciamo utilizzare il suo strumento preferito?

Vediamo dunque come fare per connettere access a mysql, in modo tale da poter eseguire query, leggere, modificare, cancellare dati dalla comoda interfaccia di casa Microsoft.


Come collegarsi a Mysql da Access


La prima cosa da fare per poter utilizzare mysql da access, è quella di scaricare ed installare i driver necessari per poter creare una fonte dati odbc sul computer che deve poter connettersi a mysql, ovvero sul client su cui si deve utilizzare access.
Per far ciò, basta collegarsi al seguente indirizzo:

https://dev.mysql.com/downloads/connector/odbc/

Scegliere la piattaforma su cui installare i driver odbc, in questo caso Microsoft Windows, e poi scegliere se utilizzare la versione 32bit o 64bit.

Come collegarsi a Mysql da Access

Anche se il sito chiede di registrarsi o di fare la login, se si guarda bene la pagina, poco più in basso è possibile proseguire con il download anche senza fare alcuna registrazione, cliccando sul link "No thanks, just start my download".
Comunque, dopo aver installato questi driver, sarete pronti per passare alla fase di configurazione del pc.

Adesso passiamo alla creazione della fonte dati odbc per connettersi al database mysql dal proprio pc, o da quello dell'utente finale.
Seguire i seguenti passaggi:

Pannello di controllo -> Strumenti di amministrazione -> Origine dati ODBC

Qui occorre specificare se 32bit o 64bit, a seconda di quanto scaricato poco prima.

Adesso scegliere se creare un DNS utente o un DNS di sistema, io ho optato per il primo ed ho cliccato su Aggiungi.
Dall'elenco, selezionare la voce MYSQL ODBC Ansi Driver.

MYSQL ODBC Ansi Driver

Adesso compilare i seguenti campi:
  • Data source name: il nome descrittivo che poi ritroverete in access
  • TCP/IP Server: l'indirizzo ip del server, localhost se si trova sulla stessa macchina
  • Port: la porta d'accesso, lasciare pure la 3306
  • User: l'username dell'utente mysql creato da phpmyadmin, che in teoria dovrebbe avere la proprietà % e non localhost, se si vuole poter accedere dall'esterno
  • Password: la password dell'utente mysql
  • Database: il database mysql a cui ci si vuole collegare

Per verificare che tutto funzioni, cliccare su Test, e se il tutto ha un esito positivo, cliccare su Ok per creare l'origine dati.

Test connessione mysql

Bene, ora che la fonte dati è stata creata sul computer che deve potersi collegare a mysql, è finalmente venuto il momento di passare ad Access.

Per potersi collegare da access a mysql, basta seguire questi ultimi passaggi:
  1. Aprire MS Access
  2. Cliccare in alto sul menù Dati esterni
  3. Nella sezione Importa espandere la voce Altro 
  4. Cliccare su Database Odbc

Se poi si utilizza un access più recedente (es. 2016), il percorso potrebbe invece essere:

Dati esterni -> Nuova origine dati -> Da database

Comunque sia, alla fine si arriverà in una finestra dove bisognerà selezionare l'origine dati, cliccando sull'opzione "Collega all'origine dati creando una tabella collegata".

Collega all'origine dati creando una tabella collegata

Si aprirà una nuova finestra dove dover cliccare su Origine dati computer o Origine dati sistema, a seconda del tipo di odbc creato prima.
In questa finestra troverete la connessione dati creata prima, con il nome che gli avevate dato, selezionatela e cliccate su Ok.

Selezionare l'origine dati

Se tutto sarà andato a buon fine, cliccando su ok vi verrà chiesto di selezionare la tabella a cui collegarvi, quindi con un altro ok, avrete connesso access a mysql e potrete vedere gli stessi dati che appaiono su phpmyadmin.

tabella mysql da phpmyadmin

tabella mysql da access

Vista così potrebbe sembrare che aprire una tabella mysql da access sia una cosa semplice, ed in effetti lo è.
Tuttavia è meglio non sottovalutare assolutamente eventuali problemi di compatibilità tra i due database.
Parlo di limite massimo di numero di record di access (255 nelle precedenti versioni), o di dimensione massima del database (2 giga una volta, ora non so).
Quindi se ad esempio in mysql salvate file pesanti, potreste riscontrare qualche problemino nell'aprili/leggerli da access.

A parte questo comunque, grazie a questo tutorial potrete leggere / scrivere su mysql da access, sia che il database sia in locale sullo stesso computer in cui è installato access, sia che sia in remoto su qualche server online.
Direi che è tutto, buone prove di connessione e buona creazione di maschere :)

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon