Pazīmes
Atverot datu bāzi, kas izveidota ar programmu Access 2000 ar Visual C++ MFC DAO klases, varat saņemt šādu kļūdas ziņojumu:
Neatpazīta datu bāzes formātu.
Jūs arī saņemat šo ziņojumu, mēģinot izveidot jaunu MFC DAO datu bāzes SDI vai MDI projektu izmantot MFC AppWizard.
Iemesls
Šis kļūdas ziņojums rodas, jo MFC DAO klases, nosūtīšanu Visual C++ 6.0 slodzes DAO 3.5 (Dao350.dll) pēc noklusējuma. Jet 3.5, kuru tikai atvērt Jet 3.5 formātu izmanto DAO 3.5 (vai vecāka versija) datu bāzes. Access 2000 izveido formātu Jet 4.0 datu bāzes faili, kas ir slikti Jet 3.5. Lai veiksmīgi atvērt Access 2000 datu bāzi, izmantojot MFC DAO klases, jālieto DAO 3.6 (Dao360.dll). Jet 4.0, kas var atvērt jebkurā pieejami Access datu bāzes formātu izmanto DAO 3.6.
Risinājums
Pašreiz nav risinājuma, izmantojot AppWizard ar Access 2000 datu avotiem.
Programma, lai izmantotu DAO 3.6 versiju, jums ir jāatjaunina MFC versiju izpildlaikā MFC 6,01 versiju. Lai to izdarītu atkarīgs vai jūs veidojat izmantot MFC DLL vai veidot statisku bibliotēkas ar MFC.
Ja jums ir saites ar MFC DLL, var norādīt, ka MFC izmantot DAO 3.6 pievienojot šādu rindiņu koda pirms atverat programmas Access 2000 datu bāzē:
AfxGetModuleState()->m_dwVersion = 0x0601;
Ievietojiet šo rindu programmas funkciju. Ja jums ir ēkas statiska MFC bibliotēkās, tālāk norādītas darbības, lai saņemtu statiska veido no DAO 3.6 izmantot MFC:
-
Modificēt failu Daocore.cpp MFC SRC direktorijā. Jūs saņemsiet šādu komentāru:
// Determine whether to use DAO 3.6, 3.5, or 3.0
// Use DAO 3.0 if DLL build and not built with MFC 4.21 or later
// Use DAO 3.6 if MFC 6.01 or later
// otherwise, DAO 3.5Pievienojiet šādas rindiņas:
#undef _MFC_VER
#define _MFC_VER 0x0601 -
Atjaunot bibliotēkas variantam, jums ir nepieciešams. Piemēram, veidot statiska MFC bibliotēka debug versija unikoda, failus no pārlūkprogrammas izmantojiet komandu komandu uzvednē MFC\SRC mapē:
nmake DEBUG=1
for release:
nmake DEBUG=0
for unicode builds:
nmake DEBUG=1 UNICODE=1
nmake DEBUG=0 UNICODE=1
Piezīme. Jums ir nepieciešams, lai noteiktu lietotajam ceļā kompilators rīki. Pretējā gadījumā, iespējams, ir jāpalaiž Vcvars32.bat fails atrodas mapē Visual C++ \BIN. Ņemiet vērā, veidojot šīs jaunās versijas bibliotēkās, tie tiks kopēti pāri MFC\LIB mapē esošos tāpēc, iespējams, vēlēsities saglabāt vecās vispirms.
Statuss
Šī darbība ir ar nolūku.