我需要一种编程方式来创建SQL Server ODBC数据源.我可以通过直接访问注册表来完成此操作.如果可以通过可用的(SQL Server/Windows)API来防止注册表项或更新的SQL Server驱动程序的值发生更改,那将会更好.
已接受的答案注意:使用SQLConfigDataSource从注册表项等的详细信息中抽象出代码,因此这更加强大.但是,我希望SQL Server能够使用更高级别的函数来包装它,该函数采用强类型属性(而不是分隔字符串)并通过驱动程序公开它.
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)