Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Triệu chứng

Khi mở cơ sở dữ liệu được tạo bằng Access 2000 MFC DAO các lớp trong Visual C++, bạn nhận được thông báo lỗi sau:

Cơ sở dữ liệu không được nhận dạng.

Bạn cũng nhận được thông báo này khi cố gắng tạo mới MFC DAO cơ sở dữ liệu SDI hoặc dự án MDI sử dụng MFC AppWizard.

Nguyên nhân

Thông báo lỗi này xảy ra do MFC DAO lớp đó tàu với Visual C++ 6.0 DAO 3.5 (Dao350.dll) theo mặc định. Sử dụng DAO 3.5 Jet 3.5, chỉ có thể mở định dạng máy 3.5 (trở) cơ sở dữ liệu. Access 2000 tạo máy 4.0 định dạng tệp cơ sở dữ liệu không thể nhận ra máy bay phản lực 3.5. Đã mở một cơ sở dữ liệu Access 2000 bằng cách sử dụng lớp MFC DAO, bạn cần sử dụng DAO 3.6 (Dao360.dll). ĐẢO 3.6 sử dụng máy 4.0, có thể mở các định dạng truy cập cơ sở dữ liệu có sẵn.

Giải pháp

Hiện tại, không có cách xử lý sử dụng AppWizard với nguồn dữ liệu Access 2000.

Để sử dụng để sử dụng phiên bản 3,6 DAO, bạn phải cập nhật phiên bản MFC lúc chạy MFC Phiên bản 6.01. Để làm điều này phụ thuộc vào việc bạn đang xây dựng các ứng dụng sử dụng MFC DLL hoặc xây dựng với thư viện tĩnh cho MFC.

Nếu bạn đang kết nối với MFC DLL, bạn có thể chỉ định mà bạn muốn MFC sử dụng DAO 3.6 bằng cách thêm các dòng mã sau trước khi bạn mở một cơ sở dữ liệu Access 2000:

AfxGetModuleState()->m_dwVersion = 0x0601;

Chèn dòng này trong CYourApp::Initinstance() chức năng của chương trình của bạn. Nếu bạn đang xây dựng với thư viện MFC tĩnh, dưới đây là các bước để tĩnh bản dựng MFC sử dụng DAO 3.6:

  1. Sửa đổi tệp Daocore.cpp trong thư mục MFC SRC. Bạn sẽ nhận được nhận xét sau:

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

    Thêm dòng sau:

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. Xây dựng lại thư viện dành cho phiên bản bạn cần. Ví dụ: để tạo thư viện MFC tĩnh, phiên bản gỡ lỗi không dùng Unicode, với tập tin trình duyệt không sử dụng lệnh sau tại dấu nhắc lệnh trong thư mục MFC\SRC:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

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

Lưu ý Bạn phải chắc chắn có những công cụ biên soạn trong đường dẫn của bạn. Nếu không, bạn có thể phải chạy tệp Vcvars32.bat trong cặp \BIN Visual C++. Lưu ý rằng khi bạn tạo các phiên bản mới của thư viện, họ sẽ được sao chép trên đầu mới trong thư mục MFC\LIB để bạn có thể lưu các tệp cũ đầu tiên.

Trạng thái

Hoạt động này là theo thiết kế.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×