THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - 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

Comments

 

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.

AWen@Teledyne.com

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

 try{

likeXlsConnection = getlikeXlsConnection();

if (likeXlsConnection == null){

  System.exit(0);

  }

try {

              likeXlsConnection.close();

            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

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

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

Leave a Comment

(required) 
(required) 
Submit

About John Paul Cook

John Paul Cook is a Technology Solutions Professional for Microsoft's data platform and works out of Microsoft's Houston office. Prior to joining Microsoft, he was a Microsoft SQL Server MVP. He is experienced in Microsoft 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 who graduated from Vanderbilt University with a Master of Science in Nursing Informatics and is an active member of the Sigma Theta Tau nursing honor society. He volunteers as a nurse at safety net clinics. Contributing author to SQL Server MVP Deep Dives and SQL Server MVP Deep Dives Volume 2.

This Blog

Syndication

Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement