SQLConfigDataSource( HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes)
hwndParent:一般置成NULL即可。
fRequest:根据需求可以是
ODBC_ADD_DSN: 增加一个新数据源
ODBC_COFIG_DSN: 配置(修改)一个已经存在的数据源
ODBC_REMOVE_DSN: 删除一个已经存在的数据源
ODBC_ADD_SYS_DSN:. 增加一个新的系统数据源
ODBC_CONFIG—SYS—DSN: 更改一个已经存在的系统数据源
ODBC_REMOVE_SYS_DSN:. 删除一个已经存在的系统数据源
lpszDriver:数据库驱动程序名称。可以参考 开始->控制面板->管理工具->数据源。如如果是为sql server设置数据源,则这项就是"SQL Server"
lpszAttributes:参数设置。这个可以参考已有数据源的注册表进行配置。HKEY_CURRENT_USER->Software->ODBC->ODBC.INI 中已有数据源的值进行配置。需要配置的有:DSN、Server、Database、Trusted_Connection四项。其中,DSN是设置要注册的数据源名;Server是数据库服务器,一般写成(local)即可(注意,local一定要加上“()”);Database是数据源中包含的数据库名称;Trusted_Connection一般置成Yes即可。
例如:
为系统添加一个名字为testdsn的数据源(包含的数据库为testdb):
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server","DSN=testdsn\0""Server=(local)\0""Database=testdb\0""Trusted_Connection=Yes\0")
删除以上数据源的代码:
SQLConfigDataSource(NULL,ODBC_REMOVE_DSN,"SQL Server","DSN=testdsn\0""Server=(local)\0""Database=account\0""Trusted_Connection=Yes\0")
注意:
1、lpszAttributes的写法:引号和\0;
2、lpszAttributes中没有uid(或LastUser)和pwd。即建立数据源不需要指定uid和pwd,它们在后面的数据源连接中才会用到。
例:
CDatabase m_db;
m_db.Open(testdsn,false,false,_T("ODBC;uid=sa;pwd="),true);
需要加入的头文件:#include "odbcinst.h"
需要引入的lib文件:ODBCCP32.LIB (涉及到有关的dll文件)