做MFC ODBC程序时,第一步总要在控制面板->管理工具->数据源 中添加数据源,这给程序使用者带来很大不便。在知道数据库(如mdb)文件路径的情况下,如何让程序自动完成这一步?已经知道的一种方法是调ODBC API:
::SQLConfigDataSource
但编译总通不过,提示:
“SQLConfigDataSource” is not a member of '`global namespace''。
 明明我敲入::时自动下拉列表里会出现这个函数,为什么不能用呢?API我用得较少,请高手指点!

解决方案 »

  1.   

    加入下面的代码试试:
    #include <odbcinst.h>
    #include <afxdb.h>
      

  2.   

    #include <sql.h>        // core
    #include <sqlext.h>     // extensions#pragma comment(lib, "odbccp32.lib")
    #pragma comment(lib, "odbc32.lib")
      

  3.   

    动态创建odbc的连接。查查这两个库odbccp32.lib,odbc32.lib
      

  4.   

    #include <sql.h>还有一种方法,自己写注册表就行了
      

  5.   

    没有包括头文件啊。
    加入下面的代码试试:
    #include <odbcinst.h>
    #include <afxdb.h>
    可能还要包括odbcinst.dll
    试试吧。
      

  6.   

    第一步,打开stdafx.h文件,在其中加入#include "odbcinst.h"
    第二步,在Project->settings->link中加入“odbccp32.lib”
    然后
       SQLConfigDataSource(NULL,ODBC_ADD
    _SYS_DSN,"Microsoft Access Driver (*.mdb)\0","
    DSN=TryDB\0DBQ=D:\\Database\\
    try.mdb\0DEFAULTDIR=D:\\DATABASE\0\0");
    重新rebulid
      
      

  7.   

    http://www.vckbase.com/document/viewdoc.asp?id=441
    对《一个完善的ODBC数据库程序》一文的补充
    作者:刘永超
    下载源代码
        编者注:本文是作者对不久前发布的一篇文章的补充,在阅读本文之前,最好先看一下原来的文章:“一个完善的ODBC数据库程序”。
        从方便用户的角度考虑,应该在程序中采用动态创建数据源。经过编者的提醒,我查找了一些资料,还好最终实现了。代码如
      

  8.   

    http://www.pcvc.net/category/content.asp?sendid=112
      

  9.   

    用::SQLConfigDataSource我试过挺好用的.