5

Environment:
Windows 7 Professional 64-bit Operating System

Problem:
(ODBC Data Source Administrator)
Opening Administrative Tools -> Data Sources (ODBC) -> Click "System DSN" tab.

Error:
ODBC System DSN Warning You are logged on with non-Administrative privileges.
System DSNs could not be created or modified.

Failed Troubleshooting so far:
Enabled local Administrator account logged in under this account.
Navigated to C:\Windows\System32\ right clicked odbcad32.exe Run as Administrator

Notes: I am an Administrator on this machine.
The 32-bit version runs fine if I open C:\Windows\SysWoW64\odbcad32.exe
However, I need the data source to be 64-bit.
I am not experiencing this problem on any of my other 64-bit machines.

Any help would be greatly appreciated.

EEAA
  • 108,414
  • 18
  • 172
  • 242
Baxter
  • 167
  • 1
  • 2
  • 11

2 Answers2

10

In my case HKLM\SOFTWARE\ODBC\ODBC.INI was missing, which is where 64-bit odbcad32.exe loads list of DSNs from.

So I just created ODBC.INI and ODBC.INI\ODBC Data Sources under HKLM\SOFTWARE\ODBC and that annoying dialog box went away.

Zart
  • 342
  • 3
  • 8
  • Hint: If you have the problem with `x32` version and you are running `x64` you need to use the `Wow6432Node`. Therefore this is the new root path: `HKLM\SOFTWARE\Wow6432Node\ODBC\ODBC.INI` – a-ctor Jun 02 '16 at 11:11
3

I'd take a look at the permission on HKLM\Software\ODBC and the subkeys. Do you see any non-stock ACLs there? Stock ACLs will contain inherited ACEs only (with no non-inherited ACEs). It sounds like the registry permissions have been played-with.

Edit:

I'm interested in having you look at the registry permissions. Highlight the HKLM\Software\ODBC key in Registry Editor and choose Edit / Permissions from the menu. In the Advanced dialog you should see the individual access control entries (ACEs) that make up the access control list (ACL). In a default Windows 7 install there will be 4 items listed (Users, Administrators, SYSTEM, and CREATOR OWNER) and they will all have MACHINE\SOFTWARE in their Inherited From column.

Evan Anderson
  • 141,071
  • 19
  • 191
  • 328
  • In HKLM\Software\ODBC there is just one entry: (Default) In HKLM\Software\ODBC\ODBCINST.INI there is just on entry: (Default) However, it contains sub-folders: ODBC Drivers -> which only contains three entries (Default), Oracle in instantclient_11_2, and SQL Server Native Client 11.0. There is a folder for each of those as well. I took a look at another Windows 7 64-bit machine and it contains a lot more entries in the drivers folder and other folders in general like ODBC Core, ODBC Translators, etc., Is there some way to repair the ODBC registry entries? – Baxter Mar 07 '13 at 17:45
  • I dropped on an edit. – Evan Anderson Mar 07 '13 at 17:54
  • I see the 4 items you listed: Users, Administrators, SYSTEM, CREATOR OWNER. They all inherit from MACHINE\SOFTWARE. Permissions: Users = Read, Administrators = Full Control, SYSTEM = Full Control, CREATOR OWNER = Special. – Baxter Mar 07 '13 at 19:00