Andrea Beggi

Osservazione, ipotesi, cimento.

Windows 7 e problemi con ODBC

Scrivo qui un breve appunto come promemoria, in caso sia capitato anche a voi un inconveniente con Windows 7 e i driver ODBC.

Nella versione a 64 bit di Windows 7 esistono due versioni dell’interfaccia di amministrazione di ODBC. La versione a 32 bit è %systemdrive%\Windows\SysWoW64\Odbcad32.exe, mentre la versione a 64 bit è %systemdrive%\Windows\System32\Odbcad32.exe (a dispetto del nome). %systemdrive% è c:\, praticamente sempre. Le configurazioni sono distinte, separate e indipendenti. La versione a cui si accede dal pannello di controllo è quella a 64 bit.

Ora: se avete un programma a 32 bit che fa uso dei driver ODBC, esso cercherà la configurazione a 32 bit e non leggerà l’impostazione del DSN che voi credete di aver configurato correttamente, perché è a 64 bit. Voi la vedete nel pannello di controllo ma l’applicativo no, perché la configurazione del DSN a 32 bit è vuota. Per configurare il driver ODBC a 32 bit si deve lanciare manualmente %systemdrive%\Windows\SysWoW64\Odbcad32.exe. Una volta inseriti qui i DSN, l’applicativo funzionerà correttamente.

(Non sono uno sviluppatore e ho una casistica limitata, se avete osservazioni i commenti sono aperti.)

Tags: , ,

14 Commenti

Andrea | #

Me lo auguro che lo fosse a chi usa ‘ste robe.

Lic | #

Non sai le bestemmie ;-)

Zot! | #

ODBC… Non ne sentivo parlare dal lontano 1994!

claudio | #

Non sai le bestemmie anche da me!
a me vede solo i dsn dell’utente e non della macchina.
Probabilmente uno fa la copia l’altro no.
ennesimo BUGGONE in una roba importante.

IgorB | #

almeno dare due nomi diversi agli eseguibili…

effemmeffe | #

Stai dicendo che la versione a 32 bit è in una cartella chiamata SysWoW6 e quella a 64 bit in una chiamata System32?
Mi auguro sia solo una tua svista nel mettere i numeri, dimmi che è una tua svista, ti prego…

Pike | #

Mi spiace EffeEmme, non è affatto una svista.
Win7 64bit funziona in questo modo, era così anche Vista64, così come WinXP x64.
Per chi vede i soli DSN utente e non i DSN Macchina, sappia che:
-esistono driver ODBC per le applicazioni a 32 e per quelle a 64bit.
-esistendo 2 pannelli ODBC, quindi esistono 2 categorie di DSN utente e di DSN macchina: quelli a 32 e quelli a 64bit.
-e’ necessario installare driver ODBC e DSN coerenti a quel che vi aspettate. Vedetelo __sempre__ dal lato della applicazione che usate (__dovete__ sapere se è a 32 o a 64bit) e quindi ragionate su quello.

Perchè Oracle 9.2 funziona anche su Win7 x64, sapendo come fregarlo ;)

Mattia | #

Ho visto che hai corretto l’inversione tra SysWoW64 e System32 nel secondo paragrafo, ma credo che anche nel terzo sia sbagliato SysWoW64.

Michele | #

è vero, con Windows 7 64 bit anche io all’inizio non riuscivo a capire… facevo l’odbc con l’applicativo poi andavo ad aprire il pannello di controllo e non era presente… :D

FabioB | #

Pensavo di essere il solo invece sono in buona compagnia quindi.
Che casino assurdo hanno fatto con ste cose.
se lanci start->esegui e dai l’odbcad32 ti lancia l’interfaccia x64, non vi dico le prime volte che sclero!!
ora…io dico, MS fa uno shortcut per qualsiasi cosa, siamo seppelliti da Shortcut, visto che hanno 2 gestioni completamente separate, non potevano semplificare la cosa e fare “Drivr ODBC” e “Driver OBDC (x64)” negli administrative tools???? valli a capire quelli….

Francesco | #

grande, erano 2 giorni che ci sbattevo la testa!!!!

Walter | #

E’ un problema che mi hai risolto, con un paio di PC con XP e Win7 64bit stavo smoccolando a iosa.
Le cose semplici vanno SEMPRE complicate!
Sembra proprio che la logica non abiti Redmond…

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>