Blog Hosting báo lỗi "The Microsoft.ACE.OLEDB provider is not registered on the local machine"

Nguyên nhân

Trên máy chủ Web 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ụ Web 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:
http://exceldatareader.codeplex.com/
PHPExcel - dành cho PHP trên Windows
- Xem và Download:
http://phpexcel.codeplex.com/

 

Bạn đang quan tâm tới dịch vụ của chúng tôi? Hãy chia sẻ mong muốn của bạn để chúng tôi phục vụ bạn!