Имам MS Sql сървър 2012 и Office 2013. Това изглежда е много придирчиво, така че може да се наложи да се приспособите към конкретните си версии.
- Изтеглете Microsoft.ACE.OLEDB.12.0 за Windows, 64-битова версия, намерена тук:https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Инсталирайте го на вашия сървър.
- Проверете потребителя, изпълняващ SQL Server, и се уверете, че потребителят има достъп до временната директория C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp, ако това е акаунт за локална услуга или C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp, ако това е акаунт за мрежова услуга.
- Конфигурирайте „Ad Hoc разпределени заявки“ и активирайте
Microsoft.ACE.OLEDB
файлове като този:
Ето командите 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
На по-нов SQL Server 2014 Използвахте 'DynamicParameters'
вместо 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Уверете се, че сте регистрирали msexcl40.dll по следния начин:
regsvr32 C:\Windows\SysWOW64\msexcl40.dll