2013-01-18 35 views
43

Đã có một số năm kể từ khi tôi thực hiện một số chương trình với ASP cổ điển và Microsoft Access, nơi chúng tôi sử dụng trình điều khiển "Microsoft.Jet.Oledb" để truy cập và hiển thị dữ liệu.Sự khác biệt giữa Microsoft.Jet.OleDb và Microsoft.Ace.OleDb

Tôi đã được yêu cầu thực hiện một số công việc với việc truy cập dữ liệu MS Excel bằng cách sử dụng "Microsoft.Ace.Oledb". Tôi đã tìm thấy điều này là một phần của tải xuống "Microsoft Access 2010 Engine Redistributable".

Tôi muốn biết liệu "Microsoft.Jet.OleDb" đã thay thế trình điều khiển "Microsoft.Ace.Oledb" và về cơ bản là giống nhau hay chúng hoàn toàn khác nhau?

Ngoài ra, bạn có thường nhận được trình điều khiển "Microsoft.Ace.Oledb" khi bạn mua MS Access 2010 không?

Trả lời

55

Đó chủ yếu là một vấn đề của lịch sử, hiệu quả ACE đã superceded JET:

Wikipedia answers your question rất chi tiết.

Các phần có liên quan nhất là:

Với phiên bản 2007 trở đi, truy cập bao gồm một phiên bản Office cụ thể của Jet, ban đầu được gọi là Office Access Kết nối Engine (ACE), nhưng mà bây giờ được gọi là Truy cập Cơ sở dữ liệu. Động cơ này là hoàn toàn tương thích ngược với các phiên bản trước của động cơ phản lực, vì vậy nó đọc và ghi (.mdb) các tệp từ phiên bản Access trước đó. Nó giới thiệu định dạng tệp mặc định mới, (.accdb), mang lại một số cải tiến cho Access, bao gồm các loại dữ liệu phức tạp chẳng hạn như trường đa giá trị, loại dữ liệu đính kèm và theo dõi lịch sử trong trường ghi nhớ. Nó cũng mang lại những cải thiện an ninh và mã hóa và cho phép tích hợp với Microsoft Windows SharePoint Services 3.0 và Microsoft Office Outlook 2007

Bên cạnh đó, ACE cung cấp một trình điều khiển 64-bit, do đó có thể được sử dụng trên các máy 64-bit, trong khi JET thì không thể.

Trình điều khiển không phải là một phần của hệ điều hành Windows, nhưng là có sẵn dưới dạng phân phối lại. [11] Trước đây, Cơ sở dữ liệu máy bay phản lực chỉ có 32 bit và không chạy tự nhiên dưới các phiên bản 64 bit của Windows.

Đối với phần thứ hai của câu hỏi của bạn, gần đây tôi đã cài đặt Office 2010 và tôi phải tải xuống riêng các thành phần ACE. Tôi nhận được chúng từ liên kết Microsoft Access Database Engine 2010 Redistributable. Điều này có thể là do tôi đã cài đặt phiên bản Office 32 bit dưới Windows 64 bit; trong bất kỳ trường hợp nào, các tệp cần thiết đều dễ dàng thu được từ Microsoft.

+0

Đã một thời gian rất dài kể từ khi tôi thực hiện bất kỳ tác phẩm nào của Office? Bạn là một người cứu hộ nhờ! – RT88

+0

Lưu ý rằng Microsoft tuyên bố rất nhiều tuyên bố từ chối trách nhiệm (đáng ngạc nhiên) trên [trang Tải xuống ADE] (https://www.microsoft.com/en-us/download/details.aspx?id=54920), ví dụ: (1) ADE là * không * thay thế chung cho ACE, (2) ADE là * không * thay thế cho Jet [sic!] Trong các ứng dụng phía máy chủ và (3) sử dụng nó trong các ứng dụng web hoặc các thành phần dịch vụ không được hỗ trợ. – Heinzi

4

Trình điều khiển cơ bản giống nhau khi được sử dụng cho các thao tác cơ bản và hiển thị sự khác biệt đáng chú ý với các công cụ phức tạp hơn (đoàn thể, truy vấn lồng nhau, v.v.).

Dựa trên kinh nghiệm cá nhân, ACE không cung cấp kết quả tương thích hoàn toàn ngược. Nó có thể mở và đọc/ghi định dạng .mdb trước đó nhưng có những thay đổi trong kiểu dữ liệu truyền chính xác cùng một truy vấn.

Ví dụ, khi sử dụng UNION trên các trường văn bản, trong đó JET sử dụng để trả về kết quả TEXT (255), ACE trả về MEMO?!

Điều này có thể gây ra nhiều rắc rối khi kết hợp với BI hoặc các công cụ báo cáo như Crystal Reports.

+1

Dường như ACE 2016 đã khắc phục được sự cố này. Không thể tìm thấy bất kỳ sự không tương thích nào với Jet ngay bây giờ. –

Các vấn đề liên quan