0

According to this web site:

http://support.microsoft.com/kb/942976

•The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\SysWoW64 folder. •The 64-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\System32 folder.

Is this a typo? Are the paths inverted?

Will both programs list all DSNs using both 32 and 64 bit drivers but we should use the appropriate matching utility to create/modify a DSN?

if I have a 64 bit version of Windows 7, which version am I running? I notice that both of these exe's have "32" in the name, which is bewildering and makes it difficult to know.

Update

I think that the MS documentation may be correct after all based on the following.

When I try to create a new DSN that references a 32 bit IBM DB2 driver, using System32\Odbcad32.exe (which MS refers to as the 64 bit version of the utility), I see this

enter image description here

When I run \SysWoW64\Odbcad32.exe (which MS refers to as the 32 bit version of the utility), I see this:

enter image description here

Note that the 32 bit driver is only available when I run the version of the utility found in \SysWoW64\Odbcad32.exe, which MS refers to as the "32 bit version" even though it is strangely found in the SysWow64 folder. If I choose the driver without 32 or 64 in the name, it later displays as being the 64 bit driver after the DSN is created.

Again, it looks like MS's documentaion may be right but their choice of where to place the utility and what to call it is very strange...

Comments?

3
  • Is this a typo? Are the paths inverted? - No Microsoft just did things really weird.
    – Zoredache
    Oct 24, 2014 at 16:50
  • 1
    Why the vote down?
    – Ivan
    Oct 24, 2014 at 18:03
  • The version you will be running will be based on the process calling the drive. A 64-bit process can only call the a 64-bit library or driver likewise a 32-bit process can only call a 32-bit library or driver.
    – Ramhound
    Oct 24, 2014 at 18:55

1 Answer 1

0

For some reason (which I don't know), on 64 bit Windows, the 64 bit files are stored in the same place as their 32 bit equivalents were in 32 bit Windows (so 64 bit programs are in "C:\Program Files" and 64 bit system files are in "C:\Windows\System32", and the 32 bit programs reside in new directories - "C:\Program Files (x86)" and "C:\Windows\SysWoW64". According to Wikipedia, WoW64 stands for "Windows 32-bit on Windows 64-bit".

The driver was installed in the right place, it's just a confusing naming scheme from Microsoft.

4
  • This has been the case for over 10 years. Its also not unusual nor confusing.
    – Ramhound
    Oct 24, 2014 at 16:52
  • Judging by the fact that I don't see the 32 bit DB2 driver available when I go thru the Control Panel to create a new DSN, I would say that inb teh Control Panel, Windows provides only a link to the 64 bit version of the utility on my 64 bit OS, which - if it had to pick only one- would probably be a sane choice.
    – Ivan
    Oct 24, 2014 at 18:05
  • 2
    @Ramhound: What's not confusing about naming both the 32 and 64 bit utilities Odbcad32.exe (note the key word: 32)? What's not confusing about placing the 32 bit utility in the SysWoW64 folder and the 64 bit utility in the system32 folder? Do you work for Microsoft?
    – Ivan
    Oct 24, 2014 at 18:10
  • Anyone that understands how a 64-bit installation of Windows works understands that WoW64 allows applications to behave exactly as they would on a 32-bit version of Windows. The "32" in the filename does not indicate its bitness nor does the Win32 library itself indicate its bitness ( hence the fact there such thing as Win64 ). System32 also does not indicate the bitness of the files Where I work isn't important
    – Ramhound
    Oct 24, 2014 at 18:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .