32-Bit ODBC Drivers in Windows Server 2008 R2

Lately I’ve been taking advantage of my MSDN subscription (thanks to Ken Simmons‘ competition last month) and playing with some new technologies, initially experimenting with Windows Server 2008 R2. If you hadn’t heard prior to launch period, Microsoft made 2008 R2 64-bit only – probably the right decision to make but whilst the software industry is still making a transition from 32-bit to 64-bit there are bound to be some niggles here and there.

Being a database guy, one of the issues I noticed right away was that the ODBC Data Source Administrator accessible via Control Panel / Administrative Tools is the 64-bit version and can only be used to setup connections for 64-bit ODBC drivers. Not only was the 64-bit version missing the Postgres driver I had just installed, there were no drivers at all other than SQL Server…

It turns out that there are are two, entirely identical ODBC tools and the one that most of us will end up using initially (unless we’re lucky enough to have an all 64-bit architecture) is kept in the basement that is the c:\Windows folder. The 32-bit ODBC Data Source Administrator can be found by going to the Start Menu, selecting Run and executing c:\Windows\SysWOW64\odbcad32.exe as follows…

Once launched, you’ll see a tool that appears to be identical in every way, except that the ‘missing’ ODBC drivers are now available…

Please note that you can’t run both 32-bit and 64-bit tools at the same time so please make sure you close the 64-bit one first, it’s also worth bearing in mind that if you’re running 32-bit applications they will probably be looking for 32-bit DSNs so even if you can get a 64-bit driver for your data source it doesn’t mean that it’s the right thing to do.

As much as I understand Microsoft’s decision to stop developing 32-bit operating systems, a little bit of a helping hand during the transition period would’ve been nice - perhaps a second shortcut in the Administrative tools folder and the ability to run them simultaneously?  The whole thing seems like a confisuing mess in their own words

The 32-bit version of the ODBC Administrator tool displays 32-bit system DSNs, 32-bit user DSNs, and 64-bit user DSNs. The 64-bit version of the ODBC Administrator tool displays 64-bit system DSNs, 32-bit user DSNs, and 64-bit user DSNs.  

To maintain backward compatibility, no resolution for this problem is currently available… to work around this problem, use the appropriate version of the ODBC Administrator tool.

I’ve made my own shortcuts to the 32-bit version and if you’re like me and constantly diving in and out of ODBC Administrator then you’ll probably want to do the same.