Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

При отваряне на база данни, създадена с Access 2000 чрез MFC DAO класове във Visual C++, получавате следното съобщение за грешка:

Неизвестен формат база данни.

Получавате това съобщение при опит за създаване на нова MFC DAO база данни SDI или MDI проект използване на MFC AppWizard.

Причина

Тази грешка възниква, защото MFC DAO класове този кораби с Visual C++ 6.0 натоварване DAO 3.5 (Dao350.dll) по подразбиране. DAO 3.5 използва Jet 3.5, която може да се отвори само Jet 3.5 формат (или по-ранна) бази данни. Access 2000 създава Jet 4.0 формат база данни на файлове, които са непознати за Jet 3.5. За да отворите успешно използване на MFC DAO класове база данни на Access 2000, трябва да използвате DAO 3.6 (Dao360.dll). DAO 3.6 използва Jet 4.0, който може да отваря всички налични достъп до база данни формат.

Решение

В момента няма заобиколно решение за използване на AppWizard с източници на данни на Access 2000.

За вашето приложение да използва версия 3.6 на DAO трябва да актуализирате версията на MFC по време на изпълнение на MFC версия 6.01. За да направите това зависи от това дали сте изграждане на приложението за използване на MFC DLL или да се изгради със статични библиотеки за MFC.

Ако се свързвате с MFC DLL, можете да укажете дали искате MFC да използвате DAO 3.6 с следния ред на кода преди да отворите база данни на Access 2000:

AfxGetModuleState()->m_dwVersion = 0x0601;

Поставете този ред във функцията CYourApp::Initinstance() на вашата програма. Ако създавате със статични MFC библиотеки, следват стъпките, за да статични се основава на MFC да използвате DAO 3.6:

  1. Модифицирате файла Daocore.cpp в директорията на MFC SRC. Ще се появи следната бележка:

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

    Добавете следните редове:

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. Възстановяване на библиотеката за вариант е необходимо. Например за изграждане на статични MFC библиотеката debug версия, не-Unicode, с браузъра файлове използвайте следната команда в командния ред в папката MFC\SRC:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

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

Забележка: Трябва да сте сигурни, компилатор инструменти на място. Ако не, трябва да стартирате файла Vcvars32.bat в папката Visual C++ \BIN. Също така, имайте предвид, че когато създавате тези нови версии на библиотеки, те ще бъдат копирани на върха на съществуващите в папката MFC\LIB така можете да запишете старите първо.

Статус

Това поведение е умишлено.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×