我有一位同事拥有两个同名的DSN,一个是用户DSN,另一个是系统。 他删除了用户DSN,但无法删除ODBCad32中的系统DSN
有人遇到过这个?
我已经看到,在支持DSN的registry项中的某个点插入了尾随句点(。),并且不会编辑或删除。 它是一个Oracle DSN? 如果不是,它使用什么驱动程序?
首先testing是否可以添加或删除另一个DSN,或者如果整个面板变得无用。
检查你正在使用的面板。 在C:\Windows\SysWOW64\odbcad32.exe (令人惊讶的是,32位)和C:\Windows\system32\odbcad32.exe (令人惊讶的是,64位)中有时有2个面板的副本。 试试两个。
接下来,尝试在HKLM/Software/ODBC下查找条目。 您可能可以编辑或删除那里的条目。
用户DSN显示在两个面板中,但只有位匹配的Admin可以删除或编辑一个。
听起来这可能是一个权限问题。 无论是谁login,系统DSN都是每台计算机,因此您需要对计算机进行pipe理访问才能删除或更改计算机。
如果您已具有pipe理访问权限,则需要检查密钥上的安全性,并在必要时取得所有权。
我刚刚发现Jet驱动程序可能适用于其他ODBC驱动程序的问题:如果您创build或修改系统DSN,并且有一个用户DSN具有相同的名称,则系统DSNregistry设置不完整 – I收集他们进入用户DSNconfiguration,而是。
系统DSN似乎工作,因为(至lessJet)驱动程序查找系统DSNregistry项(在HKLM下)和用户DSN项(在HKCU下)。 如果您删除了用户DSN,则会留下一个不完整的系统DSN – 而您的ODBC驱动程序可能不够强大,无法处理该DSN。
FWIW,Dan Konigsbach