Andrea Beggi

All my heroes have failed me.

Windows 7 e problemi con ODBC

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

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: , ,

24 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…

pdb | #

Ho un problema simile, ma con una piccola (piccola???) variante: su macchine Win7 a 64 bit vorrei utilizzare un’applicazione ACCESS che utilizzi connessioni DSN-LESS a Oracle (connessioni prive di un DSN). L’applicativo funziona come una scheggia su XP e WIN7 a 32bit, brancola nel buio su win7 a 64bit a causa della schifezza sopra citata.
Nelle connessioni utilizzo l’antico driver oracle di microsoft, referenziandolo con la stringa “{Microsoft ODBC for Oracle}”. E’ chiaro che su macchina a 64bit questa stringa referenzia il driver a 64 bit, quindi vorrei sapere se qualcuno ha trovato il trick per far funzionare la cosa puntando al driver a 32bit.
Grazie per qualsiasi aiuto,
pdb

damiano | #

Grazie anche per me era qualche giorno che ci sbattevo la testa.

Guido | #

Ottimo, è proprio così

Raffaella | #

Aiuto io non riesco a risolverlo invece… che cosa sbaglio???

unoup | #

Tutto chiaro, ma resta un pb: usando access x64 dovrei configurare il pannello a 64bit nel quale, a differenza di quello a 32bit, non c’è il microsoft driver odbc for oracle…ANDREA COME POSSO FARE????

Vincentwolf | #

grazie per la dritta ero in preda al panico ma risolto un problema ne sorge un’altro, per cortesia qualcuno mi potrebbe spiegare come mai l’applicazione è lentissima con windows 7, diventa una cosa impossibile da utilizzare.

Roberto | #

grazie per l’aiuto, io sono di un parere, quando le cure funzionano bene non c’è scadenza che tenga.
ancora grazie
ciao

adalberto | #

grazie per la dritta ,
P.S: nel documento le informazioni sono corrette e non ci sono sviste

Paolo Holzl | #

A suo tempo ci sono impazzito.
Chi la vede come una cosa ‘normale’ dice una cavolata.
Bastava fare due icone ODBC32 e ODBC64.

Fatto così è una emerita stupidata fatta solo per far impazzire chi ci lavora

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>