我用ODBC连接ACCESS数据库,调好程序后,由于ACCESS数据库被更换了目录,
我发现原来的odbc接续不能够正常被认识,这时候应该如何变更ODBC的设置?

解决方案 »

  1.   

    可以在ODBC里直接修改目标数据库的目录删了,重新建立一个连接就是了!
      

  2.   

    能够具体的介绍一下吗,如何在odbc里面修改目标数据库的目录。
    目标数据库的目录一般在那个函数或者设置中?
      

  3.   

    如果你是要动态修改ODBC的设置,用SQLConfigDatasource()函数!
    这里有介绍!
    http://dev.csdn.net/develop/article/27/27338.shtm不用函数那就只有手动修改了!
      

  4.   

    感谢您的介绍,度过这篇文章了,我的理解是在程序中添加一个控件(比如ToolBar上的按钮),然后给他添加以下的相应函数,并且在XXX.h 中添加#include "odbcinst.h",
    OnButton1(){
      SQLConfigDataSource(NULL,ODBC_ADD
    _SYS_DSN,"Microsoft Access Driver (*.mdb)0","
    DSN=TryDB0DBQ=D:Database
    try.mdb0DEFAULTDIR=D:DATABASE00");
    }
    可是我发现并没有正常工作,我想是对于该函数中的几个参数还没有理解,能否请您给注解一下。
    D:Database和D:DATABASE00是什么意思?我在程序中照原样添加可以么?或者应该如何修正?"Microsoft Access Driver (*.mdb)0"中的(*.mdb)是否应该改成我自己间的数据库的名?比如改为"Microsoft Access Driver (MYDATABASE.mdb)0"
    等待您的指教。
      

  5.   

    不需要改正*.mdb,这是驱动,你只需要改一下DSN就可以了。试一下吧?
      

  6.   

    其他的都不要改!就改数据库名try,和你的DSN名字!
      

  7.   

    OnButton1(){
      SQLConfigDataSource(NULL,ODBC_ADD
    _SYS_DSN,"Microsoft Access Driver (*.mdb)0","
    DSN=TryDB0DBQ=D:Database
    try.mdb0DEFAULTDIR=D:DATABASE00");
    }
    什么叫DSN名字?
    这个函数中有好几个DSN:假如我的数据库名叫做[MyDataFirst]
    的话应该怎样改上面的函数?
      

  8.   

    晕!你用ODBC连DSN不知道???DSN data source nameSQLConfigDataSource(NULL,ODBC_ADD
    _SYS_DSN,"Microsoft Access Driver (*.mdb)0","
    DSN=MyDataFirstDB0DBQ=D:Database
    MyDataFirst.mdb0DEFAULTDIR=D:DATABASE00");
      

  9.   

    这里对你有帮助:
    http://dev.csdn.net/develop/article/25/25607.shtm
      

  10.   

    以前没有做过数据库,这次被逼上梁山,虽然看了些文章,弄了两周多,可是好多的东西还是不懂。还好有诸位前辈相助,多谢了!!!SQLConfigDataSource(NULL,ODBC_ADD
    _SYS_DSN,"Microsoft Access Driver (*.mdb)0","
    DSN=MyDataFirstDB0DBQ=D:Database
    MyDataFirst.mdb0DEFAULTDIR=D:DATABASE00");
    上面的函数为什么没有法换行?若是换行会出错,有没有什么好办法?
      

  11.   

    换行就包含了回车符了
    可以分成几个CString 对象加起来!
      

  12.   

    TO: laiyiling(最熟悉的陌生人)
    _SYS_DSN,"Microsoft Access Driver (*.mdb)0"," //这里的0是什么意思?
    DSN=MyDataFirstDB0DBQ=D:Database //这一行和下一行如果连成一行的话是否要加一个空格?
    MyDataFirst.mdb0DEFAULTDIR=D:DATABASE00");//这里的0和00是什么意思?