Stellar Data Recovery Blog

Come risolvere l’errore di runtime di MS Access 3146 “Chiamata ODBC non riuscita”?

Molti utenti di Access utilizzano il protocollo ODBC per collegare le fonti di dati a MS Access. L’origine dati contiene file, fogli di lavoro e informazioni di connessione al database. Per collegare un’origine dati ad Access, è necessario definire il nome dell’origine dati (DSN) e il driver ODBC. Access non dispone di driver integrati per la connessione ad altri database esterni come Oracle, SQL Server, MySQL Server, ecc. Per questo è necessario installare un driver ODBC adatto e compatibile con il sistema.

Se si verifica un problema con il driver ODBC o se la connessione ODBC non riesce a connettersi a un’origine dati, in MS Access può verificarsi l’errore di runtime 3146 “ODBC Call Failed”. L’errore può verificarsi anche se si definisce l’origine dati direttamente con ODBC Driver Manager tramite un codice VBA. Di solito si verifica se si utilizza una query errata per passare la stringa di connessione o se ci sono altri problemi di codice. 

Scenari frequenti di errore di runtime di MS Access 3146

Ecco alcuni scenari comuni in cui si può verificare l’errore “ODBC Call Failed”:

Cause dell’errore “Chiamata ODBC non riuscita” in Access

L’errore Chiamata ODBC fallita indica un problema con la connessione ODBC del database Access. A parte questo, ci sono diversi motivi che possono portare a questo problema. Alcuni di questi sono:

Metodi di risoluzione dei problemi per correggere l’errore “Chiamata ODBC non riuscita” in Access

È possibile che venga visualizzato il messaggio di errore Connessione ODBC fallita se il database di Access non dispone di autorizzazioni sufficienti per utilizzare il protocollo ODBC. Per prima cosa, quindi, accertatevi che il database desiderato abbia tutte le autorizzazioni necessarie per eseguire determinate azioni tramite la connessione ODBC. In caso contrario, provare i metodi seguenti per risolvere l’errore.

Metodo 1: Controllare il codice VBA

L’errore di runtime di MS Access 3146 – Chiamata ODBC non riuscita può verificarsi se c’è un problema con il codice VBA utilizzato per interagire con l’origine dati esterna tramite una connessione ODBC. L’errore si verifica solitamente quando si definisce un nome di origine dati (DSN) con una stringa di connessione. Può verificarsi quando la stringa di connessione nel codice VBA non corrisponde alla configurazione dell’origine dati esterna. Per risolvere il problema, verificare e correggere i problemi nel codice. Ecco i passaggi da seguire:

Controllate il codice VBA ed eseguite le seguenti operazioni per risolvere il problema nel codice:

Metodo 2: Controllare le credenziali ODBC

L’errore di chiamata ODBC di Access non riuscita può verificarsi quando Access non riesce ad autenticare il DSN (Data Source Name). Questo accade quando la connessione ODBC fallisce a causa di credenziali errate o non corrispondenti. È possibile controllare e modificare le credenziali ODBC per risolvere il problema. Ecco i passaggi da seguire:

Verificare se l’errore 3146 è stato corretto. In caso contrario, verificare l’impostazione del database della connessione ODBC.

Metodo 3: Verifica della connessione ODBC Impostazione del database

L’errore Access ODBC Call Failed può verificarsi anche se la connessione ODBC non è configurata correttamente o se si verificano i seguenti problemi:

Per risolvere il problema, installare un driver ODBC compatibile e ricreare il file DSN.

Metodo 4: Controllo della configurazione di rete

L’errore di chiamata ODBC fallita può verificarsi quando la connessione tra MS Access e l’origine dati esterna è fallita quando si utilizza il protocollo ODBC. Di solito si verifica a causa di impostazioni errate del firewall, del software antivirus o delle impostazioni di rete. Per risolvere il problema, è possibile disattivare temporaneamente il firewall e l’antivirus. È inoltre possibile controllare la connessione TCP attiva e altre informazioni relative alla rete utilizzando il Prompt dei comandi. Ecco i passaggi da seguire:

Vengono visualizzate le informazioni di rete, tra cui indirizzo IP, numeri di porta, TCP, nomi di dominio completamente qualificati, porte monitorate, protocolli e altro ancora. Controllare le informazioni di rete. Se si riscontra un problema, riconfigurare le impostazioni di configurazione della rete o contattare il team IT.

Metodo 5: Abilitare le impostazioni di pooling nell’amministratore dell’origine dati ODBC

L’opzione “Connection Pooling” del driver ODBC garantisce le connessioni al database. Se l’opzione di pooling è disattivata, può verificarsi l’errore “Connessione ODBC fallita”. È possibile aprire l’amministratore dell’origine dati ODBC per verificare e attivare il pooling delle connessioni. A tale scopo, seguire i passaggi indicati di seguito:

Nella finestra ODBC Data Source Administrator è possibile controllare le impostazioni delle schede Driver, User DSN, System DSN e Driver e verificare che siano corrette.

Metodo 6: Utilizzare i protocolli di tracciamento

L’opzione di tracciamento ODBC fornisce un registro dettagliato delle tracce della comunicazione tra MS Access e altre fonti di dati esterne. Quando l’opzione di tracciamento è attivata nel driver, è possibile utilizzare questi registri dettagliati per determinare la causa del problema di connessione ODBC e risolvere il problema. È possibile aprire l’amministratore dell’origine dati ODBC e fare clic sull’opzione Tracing per visualizzare il registro delle chiamate del driver ODBC.

Metodo 7: Riparare il database di Access

L’errore di connessione ODBC di Access può verificarsi anche a causa di oggetti di database, query, tabelle o indici danneggiati. I danni al file di database di Access possono causare incoerenze e influenzare la connessione ODBC. È possibile riparare il database di Access utilizzando l’utilità Comprimi e ripara integrata in Access. Ecco i passaggi per utilizzare questa utility:

Se per qualche motivo l’utility Compact and Repair non è in grado di riparare il file di database, optate per uno strumento professionale di riparazione di Access. Stellar Repair for Access è un potente strumento in grado di riparare i file di database di Access danneggiati o corrotti (.ACCDB/.MDB). È possibile scaricare la versione demo del software che consente di eseguire la scansione del file danneggiato e di visualizzare in anteprima tutti i dati recuperabili. Lo strumento è compatibile con tutte le edizioni di Windows, compreso Windows 11.

Alla fine

L’errore di runtime 3146 può verificarsi in MS Access quando la connessione al protocollo ODBC non è riuscita. Provare i metodi di risoluzione dei problemi indicati in questo post per risolvere il problema. Se il problema si è verificato a causa di un database danneggiato, è possibile utilizzare Stellar Repair for Access per riparare il database con il 100% di integrità. Lo strumento è compatibile con tutte le versioni di MS Access, compreso MS Access 2019. Scaricate la versione demo del software per verificarne le caratteristiche prima di acquistarlo.

Exit mobile version