ODBC 条目正在运行,但在 ODBC 数据连接中不可见

ODBC 条目正在运行,但在 ODBC 数据连接中不可见

我的工作环境是 Windows 10,我们使用 ODBC 连接 SPSS、Rstudio 和其他应用程序的数据库。最近,我们添加了一个新的注册表项来注册新的数据库连接:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MYDATABASE123]
"Driver"="C:\\WINDOWS\\system32\\SQLSRV32.dll"
"Description"="MYDATABASE123"
"Server"="lab_prod.db.mydomain.com"
"Database"="labresults_P01"
"Trusted_Connection"="Yes"

当我使用 .reg 文件添加它之后,我可以使用 ODBC 源连接到数据库MYDATABASE123,因此一切正常。

但是,当我从开始菜单打开ODBC Data Sources (64-bit)ODBC Data Sources (32-bit)时,我在任何地方都看不到此条目,无论是在“用户 DNS”选项卡上还是在“系统 DNS”选项卡或任何其他选项卡上。

在此处输入图片描述

我注意到下面还有另一个(较旧的)条目HKEY_LOCAL_MACHINE\Software\ODBC可见,因此我尝试在注册表中的同一位置添加我的新条目,但它在 ODBC 数据源中仍然不可见。因此我添加了两者:

Computer\HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\MYDATABASE123
Computer\HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MYDATABASE123

在此处输入图片描述

所以我的问题是

  • 为什么这个 ODBC 连接处于活动状态(事实上我可以使用它)但在 ODBC 数据源中不可见?
  • 我是否必须在其他地方添加 ODBC 数据源?

答案1

我已经搞清楚了,所以我会回答我自己的问题。数据源在 ODBC 数据源管理器中不可见的原因是它还需要在 下具有相同名称的引用条目HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources。因此,如果您使用如下所示的文件添加注册表项.reg,则数据源条目将在 ODBC 数据源管理器应用程序中可见且可编辑。

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MyDatabase123]
"Driver"="C:\\WINDOWS\\system32\\SQLSRV32.dll"
"Description"="Comment description for My Database 123"
"Server"="lab_prod.db.mydomain.com"
"Database"="labresults_P01"
"Trusted_Connection"="Yes"
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"MyDatabase123"="SQL Server Native Client 11.0"

顺便说一句,您可以将其添加到下面,HKEY_CURRENT_USER以便它出现在“用户 DNS”选项卡下(仅适用于当前用户),或者HKEY_LOCAL_MACHINE它出现在“系统 DNS”选项卡下(适用于所有用户)。希望这对遇到同样问题的人有所帮助。

相关内容