如何在Visual Studio 2012 C#项目中使用SQLConfigDataSource
我想以编程方式创建用户DSN。我读过和类似的SO问题;浏览MSDN论坛;并查看了其他几个地方,以了解如何使SQLConfigDataSource工作。在我上面链接的SO帖子中,我看到引用了如何在Visual Studio 2012 C#项目中使用SQLConfigDataSource,c#,sql-server,visual-studio-2012,odbc,C#,Sql Server,Visual Studio 2012,Odbc,我想以编程方式创建用户DSN。我读过和类似的SO问题;浏览MSDN论坛;并查看了其他几个地方,以了解如何使SQLConfigDataSource工作。在我上面链接的SO帖子中,我看到引用了SQLConfigDataSourceW,但找不到该引用 我想在Visual Studio 2012 C#项目中使用SQLConfigDataSource或类似函数,但不知道我的.cs文件中应该包含什么 using System; using System.Collections.Generic; using
SQLConfigDataSourceW
,但找不到该引用
我想在Visual Studio 2012 C#项目中使用SQLConfigDataSource
或类似函数,但不知道我的.cs文件中应该包含什么
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
我已经看过System.Data.Odbc和SQLConfigDataSource,但它们似乎不是其中的一部分。
我相信ODBC驱动程序安装在我的工作站上。除了使用.reg文件或手动创建DSN之外,我还可以尝试其他哪些步骤?除了使用.reg文件或手动创建DSN之外,我还可以尝试以编程方式创建用户DSN吗? 您可以使用,这是一个命令行工具,允许您配置ODBC驱动程序和数据源名称。它使用SQLConfigDataSource函数。然而,这是一项如此古老的技术,微软警告说: ODBCCONF.exe将在Windows数据的未来版本中删除 访问组件。避免使用此功能,并计划修改 当前使用此功能的应用程序 我不确定停用ODBCCONF.exe会对
SQLConfigDataSource
产生什么影响,但看起来不太好。因此,最好的方法之一是使用推荐的PowerShell命令来管理驱动程序和数据源,下面是以下列表
您只需运行cmdlet,如:
以下是add-ODBCconnection2HKCU.ps1:
## Add to the "HKEY_CURRENT_USER" - registry ODBC update Add a ODBC Connection as a User DSN tab
$HKCUaddpath = "HKCU:\SOFTWARE\ODBC\ODBC.INI\LocalDeveloper"
cd HKCU:\SOFTWARE\ODBC\ODBC.INI\LocalDeveloper
md LocalDeveloper
Set-ItemProperty -path $HKCUaddpath -name Database -value "Developer"
Set-ItemProperty -path $HKCUaddpath -name Description -value "Local Developer database"
Set-ItemProperty -path $HKCUaddpath -name Driver -value "C:\Windows\System32\SQLSRV32.dll"
Set-ItemProperty -path $HKCUaddpath -name LastUser -value ""
Set-ItemProperty -path $HKCUaddpath -name Server -value "Max-PCWIN1"
Set-ItemProperty -path $HKCUaddpath -name Trusted_Connection -value "Yes"
## This is needed for this ODBC connection to show in the "ODBC Administator" application
cd HKCU:\SOFTWARE\ODBC\ODBC.INI\'ODBC Data Sources'
Set-ItemProperty -path HKCU:\SOFTWARE\ODBC\ODBC.INI\'ODBC Data Sources' -name LocalDeveloper -value "SQL Server"
参考:谢谢。这是非常有用的。在没有Windows 8的情况下——我们在Windows 7上——是否有一个旧的命令可以完成同样的任务?我一直在MSDN的网站上寻找这个,这个命令似乎是新的。谢谢。很高兴我能帮上忙,而且对Windows8的限制感到遗憾,所以我为Windows7场景添加了更多的研究。
PS C:\> Add-ODBCconnection2HKCU.ps1
## Add to the "HKEY_CURRENT_USER" - registry ODBC update Add a ODBC Connection as a User DSN tab
$HKCUaddpath = "HKCU:\SOFTWARE\ODBC\ODBC.INI\LocalDeveloper"
cd HKCU:\SOFTWARE\ODBC\ODBC.INI\LocalDeveloper
md LocalDeveloper
Set-ItemProperty -path $HKCUaddpath -name Database -value "Developer"
Set-ItemProperty -path $HKCUaddpath -name Description -value "Local Developer database"
Set-ItemProperty -path $HKCUaddpath -name Driver -value "C:\Windows\System32\SQLSRV32.dll"
Set-ItemProperty -path $HKCUaddpath -name LastUser -value ""
Set-ItemProperty -path $HKCUaddpath -name Server -value "Max-PCWIN1"
Set-ItemProperty -path $HKCUaddpath -name Trusted_Connection -value "Yes"
## This is needed for this ODBC connection to show in the "ODBC Administator" application
cd HKCU:\SOFTWARE\ODBC\ODBC.INI\'ODBC Data Sources'
Set-ItemProperty -path HKCU:\SOFTWARE\ODBC\ODBC.INI\'ODBC Data Sources' -name LocalDeveloper -value "SQL Server"