使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

狀況

當開啟資料庫,建立與 Access 2000 中 Visual C++ 的 MFC DAO 類別,您會得到下列錯誤訊息:

無法辨識的資料庫格式。

當嘗試建立新的 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 3.5 無法辨認的資料庫檔案時,都會建立 Jet 4.0 格式。若要成功地開啟一個使用 MFC DAO 類別的 Access 2000 資料庫,您需要使用 DAO 3.6 (Dao360.dll)。DAO 3.6 使用 Jet 4.0,可以開啟任何可用的 Access 資料庫格式。

解決方案

目前尚無解決方法,若要使用 AppWizard 與 Access 2000 資料來源。

應用程式,無法使用 DAO 3.6 版,您必須更新至 MFC 版本 6.01 的執行階段的 MFC 版本。若要執行這項操作取決於是否您要建立使用 MFC DLL 或靜態程式庫建置的 MFC 應用程式。

如果您要連結 MFC DLL 程式,您可以指定您想要在開啟 Access 2000 資料庫之前,插入下行程式碼中使用 DAO 3.6 的 MFC:

AfxGetModuleState()->m_dwVersion = 0x0601;

插入您的程式的 CYourApp::Initinstance() 函式中的這行。如果您要建立靜態 MFC 程式庫,則以下是取得靜態步驟建置的 MFC 使用 DAO 3.6:

  1. 修改 MFC SRC 目錄中的 Daocore.cpp 檔案。您會收到下列的註解:

    // 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 程式庫,偵錯版本,非 Unicode,與任何瀏覽器檔案使用下列命令在命令提示字元,[MFC\SRC] 資料夾中:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

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

注意您必須確定您的路徑中的編譯器工具。如果沒有,您可能需要執行 Visual C++ 的 \BIN 資料夾中的 Vcvars32.bat 檔案。也請注意,當您建置這些新版本的程式庫時,會複製檔案透過 [MFC\LIB] 資料夾中現有的頂端,您可能要先儲存舊的。

狀態

此行為是系統設計的一部份。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×