When creating a Microsoft Office 64-bit ODBC System DSN, the data source appears in the ODBC Data Source Manager initially, but then mysteriously disappears. This frustrating issue occurs specifically when you have Microsoft Office Click-To-Run installed on your system.
The root cause lies in where Click-To-Run applications store their ODBC data sources. Instead of placing them in the standard Windows registry location that other applications expect, Click-To-Run uses its own isolated registry path.
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\ODBC\ODBC.INI\
Note While this isolated location works perfectly for modern Microsoft Office applications, it prevents older Microsoft applications and third-party software from accessing these data sources.
To resolve this issue, we need to manually move the ODBC data source from the Click-To-Run registry location to the standard Windows ODBC registry location. This process involves exporting, editing, and re-importing registry entries.
⚠️ Warning This procedure involves editing the Windows registry. Always create a backup of your registry before making changes, and proceed with caution.
regedit
, and press EnterHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\ODBC\ODBC.INI\
.reg
fileOpen the exported .reg
file in Notepad or your preferred text editor. You'll have content similar to this example (for a DSN named "MDBF"):
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\ODBC\ODBC.INI\MDBF] @=hex(40000): "Driver"="C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE16\\ACEODBC.DLL" "DBQ"="C:\\l\\faculty.mdb" "DriverId"=dword:00000019 "FIL"="MS Access;" "SafeTransactions"=dword:00000000 "UID"="" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\ODBC\ODBC.INI\MDBF\Engines] @=hex(40000): [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\ODBC\ODBC.INI\MDBF\Engines\Jet] @=hex(40000): "ImplicitCommitSync"="" "MaxBufferSize"=dword:00000800 "PageTimeout"=dword:00000005 "Threads"=dword:00000003 "UserCommitSync"="Yes"
Use Find & Replace to change all registry paths:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\
HKEY_LOCAL_MACHINE\SOFTWARE\
At the end of the file, add the following section (replace "MDBF" with your DSN name):
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "MDBF"="Microsoft Access Driver (*.mdb, *.accdb)&Quot;
To distinguish the new DSN from the original, consider renaming it (for example, change "MDBF" to "RSMDBF" throughout the file).
Your completed .reg
file should look like this:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\RSMDBF] @=hex(40000): "Driver"="C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE16\\ACEODBC.DLL" "DBQ"="C:\\l\\faculty.mdb" "DriverId"=dword:00000019 "FIL"="MS Access;" "SafeTransactions"=dword:00000000 "UID"="" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\RSMDBF\Engines] @=hex(40000): [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\RSMDBF\Engines\Jet] @=hex(40000): "ImplicitCommitSync"="" "MaxBufferSize"=dword:00000800 "PageTimeout"=dword:00000005 "Threads"=dword:00000003 "UserCommitSync"="Yes" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "RSMDBF"="Microsoft Access Driver (*.mdb, *.accdb)"
.reg
file.reg
fileYour ODBC System DSN is now properly registered in the standard Windows location and will be accessible to all applications, not just Microsoft Office Click-To-Run programs.