Home

"I'm brave but I'm chicken shit"

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


Pubblicato

in

da

Commenti

24 risposte a “Windows 7 e problemi con ODBC”

  1. Avatar Andrea

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

  2. Avatar Lic
    Lic

    Non sai le bestemmie 😉

  3. Avatar Zot!

    ODBC… Non ne sentivo parlare dal lontano 1994!

  4. Avatar 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.

  5. Avatar IgorB

    almeno dare due nomi diversi agli eseguibili…

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

  7. Avatar Pike
    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 😉

  8. Avatar Mattia
    Mattia

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

  9. Avatar Michele
    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… 😀

  10. Avatar FabioB
    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….

  11. Avatar Francesco
    Francesco

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

  12. […] Windows 7 e problemi con ODBC Condividi:EmailFacebookAddToAnyTraduci in inglese […]

  13. Avatar Walter
    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…

  14. Avatar pdb
    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

  15. Avatar damiano
    damiano

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

  16. Avatar Guido
    Guido

    Ottimo, è proprio così

  17. Avatar Raffaella
    Raffaella

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

  18. Avatar unoup
    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????

  19. Avatar Vincentwolf
    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.

  20. Avatar Vincentwolf
    Vincentwolf

    per la lentezza ho risolto con questo:

    http://support.microsoft.com/kb/935400#diditfix

  21. Avatar Roberto
    Roberto

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

  22. Avatar adalberto
    adalberto

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

  23. Avatar 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