ODBC Call Failed - Error 3151 su Windows 7 a 64-bit: Come risolvere

ODBC Call Failed - Error 3151 su Windows 7 a 64-bit: Come risolvere

Questo insidioso errore di configurazione si manifesta solitamente a seguito della (re)installazione di un programma piuttosto vecchio su un sistema appena aggiornato a Windows 7 (o versione superiore) a 64-bit. Il software in questione, solitamente un client gestionale fatto in casa, funziona grazie a una connessione a un Database locale o remoto realizzata mediante driver ODBC.

Il problema

Il nostro scenario si verifica quando il programma di cui sopra non riesce a trovare la vostra origine dati e, nin potendo effettuare la connessione, presenta una finestra pop-up contenente il seguente errore:

ODBC Call Failed - Error 3151

Oppure, a seconda della versione del driver ODBC installato:

ODBC Connection Failed - Error 3146

La prima cosa da fare è, ovviamente, assicurarsi di aver installato l'ultima versione del driver ODBC sulla macchina e configurato correttamente il Data Source relativo al vostro Database tramite lo strumento di gestione ODBC presente in Pannello di Controllo -> Strumenti di Amministrazione -> Origini Dati ODBC. Nel caso in cui non lo abbiate fatto, rimediate subito! In caso contrario, continuate a leggere.

La causa

Nella maggior parte dei casi il problema è legato alla gestione delle connessioni ODBC da parte delle ultime versioni di Windows a 64-bit. A partire da Windows 7, infatti, lo strumento di amministrazione "Origini Dati ODBC" è presente in due versioni, quella per i client che necessitano di driver a  32 bit e quella che supporta i driver a 64 bit. Le due versioni, come spiegato in una nota della knowledge-base ufficiale, si trovano all'interno delle seguenti cartelle di sistema:

Origini Dati ODBC a 32 bit

Origini Dati ODBC a 64 bit

Quale è quella giusta? Dipende ovviamente dal tipo di Data Source che dovete configurare: la versione a 64 bit gestisce le connessioni ODBC che necessitano di Driver a 64 bit, mentre quella a 32 bit gestisce tutte le altre. nella maggior parte dei casi, quindi, la causa del vostro problema è dovuta al fatto che avete eseguito i passaggi corretti, utilizzando però lo strumento sbagliato.

La soluzione

Il problema, inutile dirlo, si risolve configurando l'origine dati ODBC tramite lo strumento appropriato: quello a 32 bit nel caso - molto probabile, se vi siete imbattuti nel problema - in cui la vostra applicazione necessiti di un driver ODBC a 32 bit e quello a 64 bit in tutti gli altri casi.

L'esistenza di due strumenti identici - addirittura con lo stesso nome file! - per impostare in modi diversi la medesima cosa è particolarmente fastidiosa e può generare non poca confusione. Ne ha probabilmente convenuto anche la Microsoft che non a caso, a partire da Windows 8, ha previsto due icone ben distinte all'interno degli Strumenti di Amministrazione che consentono a un utente mediamente smaliziato di potersi rendere conto della faccenda:

windows-8-control-panel-odbc-32bit-64bit

Sfortunatamente, il problema resta sostanzialmente irrisolto per tutte le versioni di Windows 7 a 64 bit dove, per ragioni - a detta della Microsoft stessa - di retro-compatibilità, questo Workaround non è mai stato implementato. All'interno degli Strumenti di Amministrazione di Windows 7 troverete infatti una singola icona, relativa alla versione a 64 bit dello strumento ODBC: motivo per cui moltissimi utenti e amministratori di sistema continuano a tutt'oggi a imbattersi nel problema e a risolverlo - si spera - leggendo con attenzione la knowledge-base oppure imbattendosi fortuitamente in articoli come questo.

Nella speranza che Microsoft trovi il modo di aggiungere una icona al pannello di controllo senza creare problemi di retro-compatibilità al proprio SO, concludo consigliandovi la lettura di alcuni articoli che descrivono una serie di problematiche legate all'argomento:

Anche per questa volta è tutto: felice connessione!

 

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.