Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Visual Studio 2012 C#项目中使用SQLConfigDataSource_C#_Sql Server_Visual Studio 2012_Odbc - Fatal编程技术网

如何在Visual Studio 2012 C#项目中使用SQLConfigDataSource

如何在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

我想以编程方式创建用户DSN。我读过和类似的SO问题;浏览MSDN论坛;并查看了其他几个地方,以了解如何使SQLConfigDataSource工作。在我上面链接的SO帖子中,我看到引用了
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"