ODBC-administratorværktøj viser både 32-bit og 64-bit bruger-DSN'er i en 64-bit version af Windows

Oversættelser af artikler Oversættelser af artikler
Artikel-id: 942976 - Få vist de produkter, som denne artikel refererer til.
Udvid alle | Skjul alle

På denne side

Symptomer

En 64-bit version af Microsoft Windows-operativsystemet inkluderer følgende versioner af Microsoft-værktøjet ODBC-datakildeadministrator (Open Database Connectivity) (Odbcad32.exe):
  • 32-bit versionen af filen Odbcad32.exe er placeret i mappen %systemdrive%\Windows\SysWoW64.
  • 64-bit versionen af filen Odbcad32.exe er placeret i mappen %systemdrive%\Windows\System32.
Filen Odbcad32.exe viser følgende typer datakildenavne (DSN'er):
  • System-DSN'er
  • Bruger-DSN'er

Symptom 1

32-bit versionen af ODBC-administratorværktøjet viser 32-bit system-DSN'er, 32-bit bruger-DSN'er og 64-bit bruger-DSN'er. 64-bit versionen af ODBC-administratorværktøjet viser 64-bit system-DSN'er, 32-bit bruger-DSN'er og 64-bit bruger-DSN'er.

Symptom 2

Funktionen SQLDataSources returnerer alle versioner af bruger-DSN'er uanset programmets arkitektur. Funktionen SQLDataSources, der kaldes i et 32-bit program, returnerer kun system-DSN'er for 32-bit drivere, men returnerer bruger-DSN'er for både 32-bit drivere og 64-bit drivere. På samme måde returnerer funktionen SQLDataSources, der kaldes i et 64-bit program, kun system-DSN'er for 64-bit drivere, men returnerer bruger-DSN'er for både 32-bit drivere og 64-bit drivere. Hvis programmet opretter forbindelse ved hjælp af et bruger-DSN, der returneres fra funktionen SQLDataSources, kan du derfor modtage følgende fejlmeddelelse:
Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.
Overvej f.eks. følgende scenario. Du opretter et bruger-DSN til 32-bit driveren "Microsoft Access Driver (*.mdb)". Driveren har ikke en tilknyttet 64-bit version. Funktionen SQLDataSources, der kaldes i et 64-bit program, returnerer dette 32-bit bruger-DSN. Men hvis du opretter forbindelse via dette 32-bit bruger-DSN, vises den fejlmeddelelse, der er nævnt tidligere i dette afsnit.

Årsag

Bruger-DSN'er gemmes under følgende undernøgle i registreringsdatabasen:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
Omdirigering af registreringsdatabasen er ikke aktiveret for denne undernøgle i registreringsdatabasen. Derfor er bruger-DSN'er synlige i både 32-bit og 64-bit versioner af ODBC-administratorværktøjet.

Løsning

For at opretholde bagudkompatibilitet er der i øjeblikket ingen løsning på dette problem.

Workaround

Du kan løse dette problem ved at bruge den korrekte version af ODBC-administratorværktøjet. Hvis du bygger og derefter kører et program som et 32-bit program på et 64-bit operativsystem, skal du oprette ODBC-datakilden ved hjælp af ODBC-administratorværktøjet i %windir%\SysWOW64\odbcad32.exe. Du kan angive typen af DSN ved at føje "_32" til 32-bit bruger-DSN'er og "_64" til 64-bit bruger-DSN'er.

Yderligere Information

64-bit ODBC-administratorværktøjet kan aktiveres fra Kontrolpanel for at administrere bruger-DSN'er og system-DSN'er, der bruges i 64-bit processer. På et 64-bit operativsystem bruges 32-bit ODBC-administratorværktøjet til WOW64-processer (Windows on Windows 64). Du skal aktivere 32-bit ODBC-administratorværktøjet direkte fra mappen SysWoW64. Du kan bruge 32-bit ODBC-administratorværktøjet til at administrere bruger-DSN'er og system-DSN'er, der bruges i WOW64-processer.

System-DSN'er er gemt i følgende undernøgle i registreringsdatabasen:
HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI
Omdirigering af registreringsdatabasen er aktiveret for denne undernøgle i registreringsdatabasen. Derfor adskilles system-DSN'er til 32-bit drivere og 64-bit drivere. 64-bit ODBC-administratorværktøjet viser ikke system-DSN'er, der er oprettet af 32-bit ODBC-administratorværktøjet. På samme måde viser 32-bit ODBC-administratorværktøjet ikke system-DSN'er, der er oprettet af 64-bit ODBC-administratorværktøjet. 64-bit ODBC-administratorværktøjet viser desuden ikke system-DSN'er, der bruger 32-bit drivere. På samme måde viser 32-bit ODBC-administratorværktøjet ikke system-DSN'er, der bruger 32-bit drivere.

Bruger-DSN'er er gemt i følgende undernøgle i registreringsdatabasen:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
Omdirigering af registreringsdatabasen er ikke aktiveret for denne undernøgle i registreringsdatabasen. Derfor viser begge ODBC-administratorværktøjer alle bruger-DSN'er.

Du kan finde flere oplysninger om omdirigering af registreringsdatabasen på følgende MSDN-websted (Microsoft Developer Network):
http://msdn.microsoft.com/da-dk/library/aa384232.aspx
Bemærk! Dette er en artikel til hurtig udgivelse, som er oprettet direkte i Microsofts supportafdeling. Oplysningerne i artiklen præsenteres som de og behandler aktuelle problemer. Fordi artiklen er blevet udgivet hurtigt, kan der forekomme slåfejl, og artiklen kan blive redigeret uden varsel. Se andre forbehold under Vilkår for anvendelse.

Egenskaber

Artikel-id: 942976 - Seneste redigering: 31. marts 2014 - Redigering: 1.0
Oplysningerne i denne artikel gælder:
  • Microsoft Open Database Connectivity 4.21
Nøgleord: 
kbexpertiseadvanced kbtshoot kbprb KB942976

Send feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com