创建SQL Server ODBC数据源的最简单,最易维护的方法是什么?

Mat*_*och 3 sql-server odbc datasource dsn

我需要一种编程方式来创建SQL Server ODBC数据源.我可以通过直接访问注册表来完成此操作.如果可以通过可用的(SQL Server/Windows)API来防止注册表项或更新的SQL Server驱动程序的值发生更改,那将会更好.

已接受的答案注意:使用SQLConfigDataSource从注册表项等的详细信息中抽象出代码,因此这更加强大.但是,我希望SQL Server能够使用更高级别的函数来包装它,该函数采用强类型属性(而不是分隔字符串)并通过驱动程序公开它.

Ser*_*lov 8

SQLConfigDataSource()完成这项工作.

MSDN文章

以防万一这是一个VB6示例:

Const ODBC_ADD_DSN = 1 'user data source
Const ODBC_ADD_SYS_DSN = 4 'system data source

Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal
hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal
lpszAttributes As String) As Long

strDriver = "SQL Server"
strAttributes = "DSN=Sample" & Chr$(0) _
& "Database=Northwind" & Chr$(0) _
& "Description= Sample Data Source" & Chr$(0) _
& "Server=(local)" & Chr$(0) _
& "Trusted_Connection=No" & Chr$(0)

SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, strDriver, strAttributes)
Run Code Online (Sandbox Code Playgroud)