注册 登录
编程论坛 VC++/MFC

关于自动注册数据源

fj881113 发布于 2010-11-29 14:13, 1035 次点击
我在BOOL C***App::InitInstance(){}里面添加代码如下:
/////////////////////////自动注册数据源驱动/////////////////////////
    CString szPath;
    GetModuleFileName(NULL,szPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
    szPath.ReleaseBuffer ();
    int nPos;
    nPos=szPath.ReverseFind ('\\');
    szPath=szPath.Left (nPos);
    CString szFile = szPath + "\\???.mdb";
    char szAtr[256];
    sprintf(szAtr,"DSN=%s!DBQ=%s!DEFAULTDIR=%s!! ","???",
    szFile,szPath);
    int nlen;
    nlen = strlen(szAtr);
    for (int i=0; i<nlen; i++)
    {
  if (szAtr [i] == '!')
  szAtr [i] = '\0';
    }
    if (FALSE == SQLConfigDataSource(NULL, ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)\0", (LPCSTR)szAtr))
   AfxMessageBox("自动注册数据源失败");


出现错误:--------------------Configuration: bn - Win32 Debug--------------------
Compiling...
bn.cpp
F:\工具\vc\MSDev98\MyProjects\bn\bn.cpp(62) : error C2065: 'SQLConfigDataSource' : undeclared identifier
F:\工具\vc\MSDev98\MyProjects\bn\bn.cpp(62) : error C2065: 'ODBC_ADD_DSN' : undeclared identifier
执行 cl.exe 时出错.

请问怎么修改
3 回复
#2
ml2325282010-12-04 22:58
基本没用过ODBC
ado比ODBC好用多了
#3
ml2325282010-12-04 23:11
你的问题是没有包含SQLConfigDataSource头文件
我查了下msdn 找的了一大堆废话 就是没看见需要什么头文件和lib文件
#4
红色警戒2010-12-05 16:41
#include "afxdb.h"
#include "odbcinst.h"
试试看
1