bug happened when operates on Access 2003 via vc6.0

 1 SYMPTOMS(症状): 
 2    When opening a database created with Access 2000 or 2003 through MFC DAO classes in Visual C++, I get the following error message: "Unrecognized database format"
 3 ­
 4 CAUSE(原因): 
 5      This error message occurs because the MFC DAO classes that ship with Visual C++ 6.0 load DAO 3.5 (Dao350.dll) by default. DAO 3.5 uses Jet 3.5, which can only open Jet 3.5 format (or earlier) databases. Access 2000 creates Jet 4.0 format database files, which are unrecognizable to Jet 3.5. To successfully open an Access 2000 database using the MFC DAO classes, you need to use DAO 3.6 (Dao360.dll). DAO 3.6 uses Jet 4.0, which can open any available Access database format. 
 6 ­
 7 RESOLUTION(解决办法): 
 8     Currently, there is no workaround to using AppWizard with Access 2000 data sources. 
 9     For your application to use version 3.6 of DAO, you must update the version of MFC at run time to MFC version 6.01. To do this depends on whether you are building the application to use the MFC DLL or to build with the static libraries for MFC. 
10      If you are linking with the MFC DLL(Pjoect->Settings->General->Microsoft Foundation Classes,choose "Use MFC in a Shared Dll"), you can specify that you want MFC to use DAO 3.6 by inserting the following line of code before you open an Access 2000 database: 
11     AfxGetModuleState()->m_dwVersion = 0x0601
12 Insert this line in the CYourApp::Initinstance() function of your program.

posted on 2008-03-30 00:03 挑灯看剑 阅读(269) 评论(0)  编辑 收藏 引用 所属分类: C/C++

只有注册用户登录后才能发表评论。
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

公告

【自我介绍】 08年南开大学硕士毕业 最近关注:算法、Linux、c++、高并发 爱好:滑旱冰、打乒乓球、台球、保龄球

常用链接

随笔分类(139)

文章分类

我常去的网站

技术博客(都是大牛)

技术站点

搜索

积分与排名