Ogni tanto succede che in Microsoft qualcuno si beva il cervello e per non modificare abitudini consolidate prenda delle decisioni quantomeno bizzarre.
Almeno, spero sia per quello, non trovo un altra spiegazione.
Mi è capitato un esempio di “scempiaggine” quando ho dovuto configurare dei nuovi portatili con Windows 7 a 64 bit e farli collegare via ODBC al nostro database server.
La gestione dei DSN per i collegamenti ODBC in Windows 7 a 64 bit è quantomeno bizzarra.
[se non sapete cos’è un driver ODBC, fate finta di niente, non serve per capire il resto]
Già la scelta dei nomi delle cartelle e dei file eseguibili si presta ad ambiguità allucinanti: gli eseguibili e le librerie DLL a 64 bit si trovano nella cartella Windows\system32, mentre quelle del sottosistema a 32 bit si trovano in Windows\sysWOW64.
Logico vero?
Probabilmente gli sviluppatori fanno delle riunioni di brainstorming dove tutti fumano erbe… aromatiche (no, non rosmarino, e neanche timo… quell’altra con foglie a 7 punte… forse viene da li il nome Windows 7?).
In più, in entrambe queste cartelle esiste un file eseguibile che si chiama ODBCAD32.EXE (e già il fatto che ci siano due eseguibili con lo stesso nome non fa che confondere le acque) che è l’utility di configurazione dei DSN (dei collegamenti ai vari database, per farla breve). Solo che quello che si trova in Windows\system32 è quello che gestisce i DSN per i driver a 64 bit, mentre quello che si trova in Windows\sysWOW64 è quello per i driver a 32 bit.
Tutto chiaro? Più confuso di così si muore…
Per concludere l’opera ognuna delle due versioni di ODBCAD32.EXE ha la sua configurazione, separata ed indipendente dall’altra (e qui mi vien da dire “meno male”)
La versione che viene lanciata accedendo al pannello di controllo è quella a 64 bit.
L’altra invece va cercata e lanciata a mano…
Mi chiedo: quanto costava mettere 2 collegamenti nel pannello di controllo, uno alla versione 64 bit e uno a quella 32 bit? Almeno uno si sarebbe fatto la domanda “Come mai ci sono 2 versioni? Forse perché hanno configurazioni indipendenti?”
In ogni caso, per configurare correttamente i collegamenti al nostro database server per i colleghi col PC nuovo, avendo Windows 7 a 64 bit ma Office a 32 bit, è necessario lanciare manualmente l’utility di configurazione da Windows\sysWOW64\ODBCAD32.EXE e lì creare i DSN opportuni.
Ganja rulez!
More info:
Microsoft Answers
Windows 7 e problemi con ODBC