Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Simptomi

Prilikom otvaranja baze podataka stvorene pomoću programa Access 2000 putem MFC DAO razreda u Visual C++, prikazat će vam se sljedeća poruka o pogrešci:

Neprepoznat oblik baze podataka.

Ovu poruku možete dobiti i kada pokušate stvoriti novu MFC DAO bazu podataka SDI i MDI Project pomoću MFC AppWizard.

Uzrok

Ta se poruka o pogrešci pojavljuje jer su razredi MFC DAO koje je brod s vizualnim C++ 6,0 load DAO 3,5 (Dao350. dll) po zadanom. DAO 3,5 koristi Jet 3,5, što može otvoriti samo Jet 3,5 oblik (ili starije) baze podataka. Accessa 2000 stvara Jet 4,0 obliku datoteka baze podataka, koje su neprepoznatljive za Jet 3,5. Da biste uspješno otvorili bazu podataka programa Access 2000 pomoću razreda MFC DAO, morate koristiti DAO 3,6 (Dao360. dll). DAO 3,6 koristi Jet 4,0, koji može otvoriti bilo koji dostupni oblik baze podataka programa Access.

Rješenje

Trenutno ne postoji zaobilazno rješenje za korištenje aplikacije AppWizard uz Access 2000 izvori podataka. Da bi aplikacija koristila verziju 3,6 programa DAO, morate ažurirati verziju MFC-a u vremenu izvođenja na MFC verziju 6,01. Da biste to učinili, ovisi o tome stvarate li aplikaciju da biste koristili MFC DLL ili da biste ga izgradili u statičkim bibliotekama za MFC. Ako se povezujete s MFC DLL-om, možete navesti da MFC koristi DAO 3,6 tako da umetne sljedeći redak koda prije otvaranja baze podataka programa Access 2000:

AfxGetModuleState()->m_dwVersion = 0x0601;

Umetnite taj redak u funkciju CYourApp:: Initinstance () u programu. Ako sastavljate statičke MFC biblioteke, slijedite korake za dohvaćanje statičkih verzija MFC-a da biste koristili DAO 3,6:

  1. Izmijenite datoteku Daocore. CPP u direktoriju MFC SRC. Prikazat će vam se sljedeći komentar:

    // 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.5

    Dodajte sljedeće retke:

    #undef _MFC_VER#define _MFC_VER 0x0601
  2. Ponovno izgradite biblioteku za željenu varijantu. Da biste, primjerice, stvorili statičku MFC biblioteku, verziju za ispravljanje pogrešaka, neunicode, bez datoteka preglednika koristite sljedeću naredbu u naredbenom upitu u mapi MFC\SRC:

      nmake DEBUG=1for release:   nmake DEBUG=0for unicode builds:   nmake DEBUG=1  UNICODE=1   nmake DEBUG=0  UNICODE=1

Napomena Morate biti sigurni da su alati za prevodilac na putu. Ako ne, možda ćete morati pokrenuti datoteku Vcvars32. bat koja se nalazi u mapi Visual C++ \BIN. Imajte na čemu i kada sastavite te nove verzije biblioteka, one će se kopirati na vrh postojećih u mapi MFC\LIB, pa ćete prvo morati spremiti stare.

Status

To je ponašanje prema dizajnu.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×