使用SQLConfigDataSource()函数

来源:互联网 发布:网贷数据公司怎么样 编辑:程序博客网 时间:2024/06/18 14:35

  函数原型 

BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest,LPCSTR lpszDriver,LPCSTR  lpszAttributes)

(1)参数hwndPwent是父级窗口句柄。
   如果句柄为NULL,将不会显示一些有关的对话框。
   如果参数 IpszAttributes提供的信息不够完善,在创建过程中就会出现对话框要求用户提供相应信息。

(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数据源管理器中驱动程序名称

(4)lpszAttributes这一部分分两种情况

  4.1 数据源在本地

      举例

    if(!SQLConfigDataSource  (
NULL, //父窗口指针;
        ODBC_ADD_DSN,  //添加的数据源的类型;
      "Microsoft Access Driver (*.mdb)",//驱动程序名;
//属性:
                            "DSN=Students\0"  //数据源名
                           // "Description=This a sample\0"    //数据源的说明
                           // "FileType=Microsoft Access\0"    //数据源文件类型
"DBQ=D:\\database\\数据库\\StudentsInfo.mdb\0"//数据库文件全路径名
                    //在根据现有数据设置列的数据类型时所要扫描的行数。 可以为 1 到 16,
//默认值为 8;如果设置为 0,将扫描所有行。(如果数字超出界限,会返回一个错误)
       //"MaxScanRows=0\0"  
                     
)
 )
{
AfxMessageBox("创建数据源失败!!");
return;
}

    属描述中最重要的是DSN和DBQ两项,不能缺少。其它项可忽略。

  4.2 数据在远程服务器上

       举例


  if (!SQLConfigDataSource(NULL,ODBC_ADD_DSN,_T("SQL Server"),
_T("DSN=watchboard10\0DESCRIPTION=SQLConfigDSN Sample\0")
_T("SERVER=服务器名\0ADDRESS=192.168.0.118\0NETWORK=WORKGROUP\0")
_T("DATABASE=数据库名\0")
))
{
AfxMessageBox(_T("Cannot add DSN!"));
}


   最重要的三项是DSN,SERVER,DATABASE。其它项可忽略。

  注意的地方是不要加入UID,PWD;也不要在‘=’号两边有空格。

  另外,SERVER和ADDRESS一般指明一个就可以,而且服务器名和IP地址可以互换。

  可简化成如下形式:

if (!SQLConfigDataSource(NULL,ODBC_ADD_DSN,_T("SQL Server"),
_T("DSN=watchboard10\0")
_T("SERVER=192.168.0.118\0")
_T("DATABASE=wbdb\0")
))

{
AfxMessageBox(_T("Cannot add DSN!"));
}



最后说明,这个函数可以重复执行,不必担心会加入多个相同的数据源。


参考:http://blog.csdn.net/jarily/article/details/23534635



0 0
原创粉丝点击