如何在.Net中以编程方式编辑用户DSN?
我们有许多终端用户的计算机上有DSN,可以通过Excel连接到我们的SQL Server 现在我们已经迁移了SQL Server,需要将DSN编辑为低于该值(从PrevSQL Server到NewSQLServer) 这个改变需要在许多终端用户的机器上完成,所以我们认为我们将制作一种.exe文件,我们只需要让终端用户双击,DSN就会被编辑 我们考虑使用.Net(默认情况下Windows机器有.Net framework)来实现上面的.exe,在Google上,我意识到这需要通过编辑注册表来完成,所以进入了regedit,但在那里我没有看到SQL Server名称(要编辑的属性) 在哪里可以在regedit中找到SQL Server名称,我可以通过编程方式对其进行更改?如果是,怎么做 我甚至读过一些ODBC文件,可以通过编辑来实现这一点(而不是搞乱regedit) 我发现了一个文件ODBC.INI,它的条目如下 MIX\u SQL\u PROD=SQL Server(32位) 但该文件中没有SQL Server名称 我怎样才能完成编辑DSN的工作?如何在.Net中以编程方式编辑用户DSN?,.net,sql-server,odbc,dsn,regedit,.net,Sql Server,Odbc,Dsn,Regedit,我们有许多终端用户的计算机上有DSN,可以通过Excel连接到我们的SQL Server 现在我们已经迁移了SQL Server,需要将DSN编辑为低于该值(从PrevSQL Server到NewSQLServer) 这个改变需要在许多终端用户的机器上完成,所以我们认为我们将制作一种.exe文件,我们只需要让终端用户双击,DSN就会被编辑 我们考虑使用.Net(默认情况下Windows机器有.Net framework)来实现上面的.exe,在Google上,我意识到这需要通过编辑注册表来完
在Internet上,我在power shell中找到了一些代码,但不确定是否要使用它,因为我对power shell没有任何专业知识,也不确定默认情况下windows计算机上是否有PowerShell运行时用户DSN在此注册表项下列出:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources
有关特定DSN的详细数据保存在此处:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\<DSN name>
HKEY\U当前\U用户\Software\ODBC\ODBC.INI\
您可以轻松地将信息导出到reg文件中,只需将其导入用户注册表即可。两件事:
实际上,到目前为止,我有一个N/W别名,用户通过它进行连接,目前我有一个独立的SQL Server实例,因此N/W别名可以指向该SQL Server(与机器名相同)。但现在我正在迁移命名实例,NOC团队说N/W alias可以指向机器,但不能指向命名实例。您的网络工程师是正确的。在解析命名实例时,您可以有效地确保对服务器上的SQL Browser服务进行调用,以解析实例正在侦听的端口。也就是说,如果这是服务器上唯一的实例,那么可以将端口设置为1433(标准SQL端口),并且可能只使用CNAME就可以了。