다음을 통해 공유


ODBC drivers not visible in the ODBC Data Source Administrator (odbcad32.exe)

I recently had an issue where after the installation of a Third party Client side tools, we were not able view the drivers listed in the ODBC Data Source Administrator (odbcad32.exe).

In order to create a DSN to use this third party driver, we had to take a backup/export of the registry key of an existing DSN, edit the content of the registry and rename the existing DSN name to new DSN and then had to merge it back to the registry.

We did check that we had the sufficient privileges on the system, the third party client tools is properly installed and we are able to use this driver for connecting to the third party databases without any issues. So we realized that the issue is not with the third party driver rather it is the registry key from where the ODBC Data Source Administrator (ODBCAD32.exe) actually picks up the list of drivers.

The ODBC Data Source Administrator (ODBCAD32.exe) picks up the list of entries from the following registry path.

On a x64 bit system for a x64 bit drivers: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers

On a x64 bit system for a x32 bit drivers: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers

On a x32 bit system:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers

 

clip_image002

Note: Above screenshot is taken from a x64 bit system for a x64 bit driver

We realized that the values for the following registry keys should always be (value not set) and if the value is set to an empty string or any other value (either by Third party application or open this registry and close it without any changes) we will run into similar kind of issues where the drivers are not listed in ODBC Data Source Administrator (odbcad32)

On a x64 bit system for a x64 bit drivers:

1) HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers\(Default) and

2) HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\(Default)

On a x64 bit system for a x32 bit drivers:

1) HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers\(Default) and

2) HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\(Default)

On a x32 bit system:

1) HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers\(Default) and

2) HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\(Default)

So in order to make this change we would need to perform the following registry changes.

1. Please note before modifying any registry entries we would recommend you to perform a backup of the registry. Please refer the following article on how to backup and restore the registry.

How to back up and restore the registry in Windows: https://support.microsoft.com/default.aspx?scid=kb;EN-US;322756

  1. Login using an administrator account and bring up the registry editor.

a. On Windows Vista and later - Go to Start | Run and enter the following: regedit

Click OK and the Registry Editor will open.

b. On prior versions of Windows

Start > Run > type Regedit.exe and press Enter or

Start > Run > type Regedt32.exe and press Enter

  1. HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers and HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI
  2. Right-click the key called ' (Default) ' and select Delete option.
  3. If unable to delete the key, double-click the key and erase the Data value entered. Once done, the value should read ' (value not set) '.
  4. Close the Registry Editor and re-launch the ODBC Data Source Administrator (ODBCAD32.exe).

On a x64 bit system for a x64 bit driver:

a. Go to Start | Run and enter the following: odbcad32.exe (By default this will load the odbcad32.exe from C:\Windows\System32\odbcad32.exe).

Click OK and the Registry Editor will open.

On a x64 bit system for a x32 bit driver:

a. Go to the following path C:\Windows\SysWOW64 and open the odbcad32.exe

(This will load the 32 bit version of ODBC Data Source Administrator)

On a x32 bit system:

a. Go to Start | Run and enter the following: odbcad32.exe (By default this will load the odbcad32.exe from C:\Windows\System32\odbcad32.exe).

Click OK and the Registry Editor will open.

We should be able to successfully see the drivers listed in the drivers Tab and should be able to create the DSN’s using that driver.

Or

1. To make this even easier we just need to execute the following command in elevated command prompt and refresh the registry

reg.exe DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" /ve /f

and

reg.exe DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI" /ve /f

If you run into issues similar to this wherein the system DSN’s are missing please follow the below article.

System DSN Entries Do Not Appear in ODBC Data Source Administrator (odbcad32.exe): https://support.microsoft.com/kb/2000277

 

Author : Krishnakumar Rukmangathan(MSFT), SQL Developer Engineer, Microsoft

Reviewed by : Jason(MSFT), SQL Escalation Services, Microsoft

Comments

  • Anonymous
    February 01, 2012
    I had this problem on my Toughbook, thanks for the fix. Toughbook Drivers - www.toughbookdrivers.com

  • Anonymous
    April 17, 2013
    Thanks for creating this document. It was really helpful

  • Anonymous
    May 16, 2013
    Grappled with this problem on several occasions. The steps outlined here definately resolved the problem! Many, many thanks guys! Keep up the good work.

  • Anonymous
    September 03, 2013
    Vi ringrazio. Le informazioni da voi rilasciate mi sono state molto utili. Grazie!

  • Anonymous
    November 11, 2014
    support2.microsoft.com/.../2721825

  • Anonymous
    May 13, 2015
    Thank you very much sir it works...

  • Anonymous
    July 06, 2015
    nice artical

  • Anonymous
    December 11, 2015
    Thank you!

  • Anonymous
    April 20, 2017
    Thank you for this guide, only just ran into the issue and found this straight away. Happy days :D