THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

John Paul Cook

32-bit ODBC on Windows Server 2008 R2

Heterogeneous data access requires having the right drivers. If you have to use 32-bit ODBC drivers, you won’t find then when you start the Microsoft ODBC Administrator because it is 64-bit. The 32-bit ODBC Administrator is found here: C:\Windows\SysWOW64\odbcad32.exe

You might want to make a shortcut for it to make it easy to find. You’ll need to use it when make 32-bit ODBC data connections.

Published Tuesday, March 16, 2010 7:16 PM by John Paul Cook

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



Me said:

Thank you, John Paul Cook!  We've been trying to figure this out for hours!

March 24, 2010 3:49 PM

Andrew Wen said:

Where should I put the shortcut? I found ODBCAD32.exe in Windows\System32 too. Thanks.

June 8, 2010 3:01 PM

John Paul Cook said:

Put the shortcut wherever you want. It is for your convenience.

June 8, 2010 3:46 PM

Peter Moh said:

I used C:\Windows\SysWOW64\odbcad32.exe to call XLS connection with sun.jdbc.odbc.JdbcOdbcDriver successfully.

But recently, get error:[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application.

The registry file no changed.  

The test program is:

public class testXlsConnection{

   static String msgjdbcodbcString = "jdbc:odbc:msgsheet";

  static Connection likeXlsConnection = null;

public static void main(String[] args){


likeXlsConnection = getlikeXlsConnection();

if (likeXlsConnection == null){



try {


            System.out.println("<<<<JDBC, ODBC Connection and files closed safely...>>>");

      } catch (Exception e) {

 System.out.println("Final error:>>>"+ e.getMessage() + "<<<\n");


System.out.println("testXlsConnection Completed!!!");


      catch(Exception ex){

  System.out.println("Exception in main " + ex.getMessage()+"***");



public static Connection getlikeXlsConnection() throws ClassNotFoundException, SQLException {

   Connection likeXlsCon = null;

   try{//read data from main spreadsheet then insert records to corresponding tables


likeXlsCon = DriverManager.getConnection(msgjdbcodbcString);//"jdbc:odbc:msgsheet" );xlsCon;

System.out.println(msgjdbcodbcString + " Connection succesed...");


   catch(ClassNotFoundException ce){

System.out.println("ClassNotFoundException for >>>" + msgjdbcodbcString + "<<<"+ ce.getMessage() );


catch(SQLException sqle){

System.out.println("SQLException Connection for >>>" + msgjdbcodbcString + "<<<"+ sqle.getMessage() );


   catch(Exception e){

System.out.println("Fail to establish Connection for >>>" + msgjdbcodbcString + "<<<"+ e.getMessage() );


   return likeXlsCon;



/*from ControlPanel>>Administrator tool>>Data Source(ODBC)

Then right lick, properties box shown as:

Data Source (ODBC) properties:

Target Type: Application

Target Location: SysWOW64

Target: %windir%SysWoW64\odbcad32.exe

Start in: %windir%\SysWOW64


August 16, 2011 10:24 AM

John Paul Cook said:

Code samples should be posted to MSDN forums instead of here.

August 16, 2011 7:16 PM

Frank Hall said:

Thanks for this info, John. I wonder why this is so hard to find at Microsoft! Much appreciated.

September 6, 2011 10:32 AM

Andrew Waegel said:

+1 for this answer; in our case we were using a legacy pre-.NET DLL which worked fine in WOW64, but couldn't communicate with its database until we used the WoW64 administrator.

March 20, 2012 3:58 PM

J said:

You sir, have made my day!

Thanks a million o7

September 5, 2012 7:44 AM

J said:

Just wanted to add, in our case, we were told we should run the 32-bit version and the one located at C:\Windows\system32\odbcad32.exe should work.

But when we tried adding a new datasource, our program could not pick up the datasource we just configured. However, there were other preconfigured ones that were not showing up in the ODBC which we thought hinted at either a config file storing previous versions or obviously running the wrong version.

When we ran the one in WOW64, all the preconfigured sources showed up and we were able to add ours and successfully use it in our program.

September 5, 2012 7:59 AM

Mir said:

Thanks! Very much

October 16, 2012 1:55 PM

Bülent Çağrıl said:

Thank you sir. This is a master key.

February 19, 2014 8:33 AM

Gabriel said:

Very useful!

Thank you very much.

May 19, 2015 6:54 AM

Balus said:

Another thankful human.

July 25, 2015 11:00 AM

Jon Culp said:

This saved me.  I kept trying to set up the 32 bit driver using C:\Windows\System32\odbcad32.exe; but you have provided me the correct path.

February 25, 2016 1:51 PM

Adolfo said:

Thank you!

April 26, 2017 6:06 AM

Leave a Comment


About John Paul Cook

John Paul Cook is a database and Azure specialist in Houston. He previously worked as a Data Platform Solution Architect in Microsoft's Houston office. Prior to joining Microsoft, he was a SQL Server MVP. He is experienced in SQL Server and Oracle database application design, development, and implementation. He has spoken at many conferences including Microsoft TechEd and the SQL PASS Summit. He has worked in oil and gas, financial, manufacturing, and healthcare industries. John is also a Registered Nurse currently studying to be a psychiatric nurse practitioner. Contributing author to SQL Server MVP Deep Dives and SQL Server MVP Deep Dives Volume 2. Connect on LinkedIn

This Blog



Privacy Statement