Copyright© Mat Bao Company. All Reserved.
Sử dụng nội dung ở trang này và dịch vụ tại Mắt Bão có nghĩa là bạn đồng ý với Thỏa thuận sử dụng và Chính sách bảo mật của chúng tôi.
Công ty cổ phần Mắt Bão - Giấy phép kinh doanh số: 0302712571 cấp ngày 04/09/2002 bởi Sở Kế Hoạch và Đầu Tư Tp. Hồ Chí Minh.
Giấy phép cung cấp dịch vụ Viễn thông số 247/GP-CVT cấp ngày 08 tháng 05 năm 2018.
Lỗi “The Microsoft.ACE.OLEDB provider is not registered on the local machine”
Đây là trường hợp hiếm gặp và thường chỉ xảy ra với loại hình Application Website, khi cố gắng sử dụng các Driver của Microsoft Office để đọc và ghi tập tin Word/Excel.
Nguyên nhân
Trên máy chủ Cloud Hosting, các ứng dụng, Module/Component được cài đặt rất giới hạn và tùy theo nhà cung cấp dịch vụ. Chúng tôi không thể đảm bảo Website của bạn chạy được ở nơi khác, cũng hoạt động được trên máy chủ của Mắt Bão. Mỗi nhà cung cấp đều có chính sách riêng cho hệ thống của mình và bạn không thể đòi hỏi họ cài đặt một cái gì đó cá biệt cho Website của bạn hoạt động. Chính vì vậy chúng tôi khuyên bạn khi lập trình hoặc thuê đơn vị xây dựng website, phải đảm bảo việc hoạt động của mọi chức năng không phụ thuộc vào những Module/Component ít phổ biến.
Quay lại vấn đề báo lỗi, vì Microsoft có nhiều phiên bản Driver OLEDB, ví dụ khi bạn lập trình Import tập tin Excel, các Driver OLEDB mới nhất sẽ có thể Import tập tin Excel 95-97 cho đến Excel 2007-2012… Mỗi Driver OLEDB bao gồm 2 phần cài đặt cho Platform x64 và x86, cho nên có rất nhiều bản cài đặt và bản vá phải chép vào máy chủ nếu muốn hỗ trợ cho nhiều khách hàng. Các phiên bản OLEDB cũng mang nhiều lỗ hổng bảo mật trong lịch sử phát triển của nó.
Một lý do khác là cho dù nhà cung cấp chiều lòng bạn, nhưng đến một lúc nào đó họ nâng cấp máy chủ, chuyển website của bạn qua máy chủ khác, hoặc bạn rời bỏ nhà cung cấp và chuyển đi thì vấn đề này sẽ tái lập. Driver OLEDB cần hoạt động ở chế độ Full-Trust, nhưng đa số nhà cấp dịch vụ Cloud Hosting chỉ hỗ trợ website của bạn ở mức Medium Trust.
Giải pháp
Tóm lại, sử dụng Driver OLEDB chỉ phù hợp với ứng dụng Desktop hoặc bạn phải thuê máy chủ riêng, VPS cho Website. Giải pháp tốt nhất là bạn nên sử dụng những mã nguồn không phụ thuộc vào các Driver này, có khá nhiều giải pháp thay thế:
- Excel Data Reader – Read Excel files in .NET
– Xem và Download: https://github.com/ExcelDataReader/ExcelDataReader/ - PHPExcel – dành cho PHP trên Windows
– Xem và Download: http://phpexcel.codeplex.com/