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.)

24 risposte su “Windows 7 e problemi con ODBC”

  1. 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.

  2. 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…

  3. 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 😉

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

  5. è 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… 😀

  6. 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….

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

  8. 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

  9. 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????

  10. 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.

  11. 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

I commenti sono chiusi