martedì 12 dicembre 2017

ODBC Chiamata non riuscita: access / mysql errore RISOLTO

L'altro giorno ho fatto un breve tutorial su come collegare access a mysql, ed eccomi qui subito a farne un altro ancora più breve per spiegare come risolvere l'errore odbc chiamata non riuscita.

E' il caso in cui, dopo aver correttamente configurato la fonte dati sul proprio pc, dopo averla testata con successo, si prova a collegarsi a mysql da access, e si viene bloccati istantaneamente da questo errore "odbc call failed" su access.

Vediamo subito come fare per rimediare a questo problema, che tra l'altro potrebbe presentarsi anche per la connessione da access ad altre fonti dati (es. sql server, oracle).

ODBC Chiamata non riuscita


Come risolvere l'errore ODBC Chiamata non riuscita da access a mysql


Cercando un po' su internet, ho trovato qualche post a riguardo, ma le soluzioni proposte non mi convincevano molto, dato che spesso si parlava di problemi di timeout / latenza.
Ad ogni modo, prima di proporvi la mia soluzione, vi spiegherò brevemente cosa dicono di fare gli altri.

Premesso che do per scontato che abbiate inserito correttamente tutti i parametri di connessione come username, password, ip server, ecc..., e che non ci siano di mezzo terribili firewall, antivirus o proxy a bloccare le chiamate al database mysql, ecco quanto propongono di fare la maggior parte delle persone su internet: modificare il file di configurazione di mysql.

Bisognerebbe infatti andare sul file my.ini e settare i seguenti parametri:

max_allowed_packet = 64M
wait_timeout = 6000


Si tratta quindi di aumentare il numero massimo di pacchetti trasmessi ed il tempo di scadenza delle chiamate.
Se usate wamp, tutto ciò si trova nella sezione [wampmysqld64], dove max_allowed_packet è presente e andrebbe solo variato, mentre wait_timeout va proprio aggiunto.
Dopo aver modificato questi parametri, ricordarsi di riavviare mysql.

Come dicevo però poco sopra, nel mio caso l'errore "odbc chiamata non riuscita" appariva istantaneamente quando provavo a collegare mysql ad access, inoltre se aprivo la fonte dati mysql dal pannello di controllo, questa funzionava correttamente.
Ed infatti con me questa soluzione non ha funzionato.


Funziona: come risolvere errore odbc chiamata non riuscita


Ecco ciò che ha funzionato per me.
E' bastato installare il driver odbc a 32bit al posto che quello a 64 bit, e configurare il tutto di conseguenza.
Nonostante infatti io abbia un pc a 64 bit, e rispettivi programmi a 64 bit, ho dovuto usare una connessione a 32bit... poco male, l'importante è che funzioni.

Ad ogni modo, potrebbe per voi invece non funzionare il 32 ma il 64, quindi fate pure delle prove installando i giusti driver scaricandoli da questo sito internet:

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

Spero che questo breve tutorial sia stato utile a qualcuno.
Probabilmente ci sono anche altre casistiche per cui possa risultare impossibile collegarsi a mysql da access, o da access a sql server, o a oracle (l'errore è generico e potrebbe presentarsi anche durante la connessione ad altri db), ma spero che rientrate in questo caso... dato che è il più facile da risolvere.

1 commenti so far

Ciao, volevo ringraziarti molto per il post, io ho lo stesso problema che avviene per ora molto saltuariamente durante l'esecuzione delle query automatiche da Access 2019 (driver 64bit) verso SQL server 2017, proverò come suggerito...
per caso hai notato un calo delle prestazioni ovvero un allungamento dei tempi di esecuzione delle query facendo il downgrade dal driver 64bit al 32bit?

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon