Tôi có máy chủ MS Sql 2012 và Office 2013. Điều này có vẻ rất khó khăn, vì vậy bạn có thể phải điều chỉnh cho phù hợp với các phiên bản cụ thể của mình.
- Tải xuống Microsoft.ACE.OLEDB.12.0 cho Windows, phiên bản 64 bit được tìm thấy tại đây:https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Cài đặt nó trên máy chủ của bạn.
- Kiểm tra người dùng đang chạy SQL Server và đảm bảo rằng người dùng có quyền truy cập vào thư mục tạm thời C:\ Windows \ ServiceProfiles \ LocalService \ AppData \ Local \ Temp nếu đó là tài khoản dịch vụ cục bộ hoặc C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ Temp nếu đó là tài khoản dịch vụ mạng.
- Định cấu hình 'Truy vấn Phân tán Ad Hoc' và bật
Microsoft.ACE.OLEDB
các tệp như thế này:
Đây là lệnh SP_CONFIGURE:
SP_CONFIGURE 'show advanced options', 1;
GO
RECONFIGURE;
SP_CONFIGURE 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParam', 1
Trên SQL Server 2014 mới hơn Bạn đã sử dụng 'DynamicParameters'
thay vì 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Hãy chắc chắn rằng bạn đăng ký msexcl40.dll như thế này:
regsvr32 C:\Windows\SysWOW64\msexcl40.dll