动态配置数据源(DSN)

SQLConfigDataSource()   函数被用于动态地添加、修改或删除数据源。函数声明如下:

BOOL (HWND hwndParent,UINT fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes);
函数所在工程要包含头文件为 
参数说明:
1.hwndParent:说明该函数调用者的窗口句柄,目的是在此基础上生成相关的对话框信息(与DSN有关的),比如控制面板中的数据源管理器对话框,在参数 IpszAttributes提供的信息不够完善,在创建过程中就会出现对话框要求用户提供相应信息。如果设置为NULL的话任何形式的对话框都不会存在,函数直接返回。
2.fRequest:
设置为下列数值之一:
ODBC_ADD_DSN: 增加_个新数据源
ODBC_CONHG_DSN: 配置(修改)一个已经存在的数据源
ODBC_REMOVE_DSN: 删除一个已经存在的数据源
ODBC_ADD_SYS_DSN:. 增加一个新的系统数据源
ODBC_CONFIG—SYS—DSN: 更改一个已经存在的系统数据源
ODBC_REMOVE_SYS_DSN:. 删除一个已经存在的系统数据源
3.lpszDriver:
数据库引擎名称,可以参见ODBC管理器中对ODBC驱动程序的描述。比如要加载的是Excel数据库,那么数据库引擎名称就为Microsoft Excel Driver(*.xls);MSSQL,那么就为“SQL Server”
4.lpszAttributes
参数lpszAttributes为一连串的"KeyName=value"字符串,每两个KeyName值之间用""字符(也就是在代码中的“\0”)隔开。
下面看具体的实例:
服务器为局域网上的MSSQL
 
1.创建新数据源:
SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,"SQL Server",
    "DSN=testNew\0"
    "Server=125.223.118.125\\INST1,1433\0"
    "DataBase=msdb\0")
2.修改已经存在的DSN:
SQLConfigDataSource(NULL,ODBC_CONFIG_SYS_DSN,"SQL Server",
    "DSN=test\0"
    "Server=125.223.118.125\\INST1,1433\0"
    "DataBase=msdb\0")
 
 

你可能感兴趣的:(VC++)