Mam serwer MS Sql 2012 i Office 2013. Wydaje się to być bardzo skomplikowane, więc być może będziesz musiał dostosować się do swoich konkretnych wersji.
- Pobierz plik Microsoft.ACE.OLEDB.12.0 dla Windows, 64-bitową wersję znalezioną tutaj:https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Zainstaluj go na swoim serwerze.
- Sprawdź użytkownika z uruchomionym programem SQL Server i upewnij się, że użytkownik ma dostęp do katalogu tymczasowego C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp, jeśli jest to konto usługi lokalnej, lub C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp, jeśli jest to konto usługi sieciowej.
- Skonfiguruj „Kwerendy rozproszone ad hoc” i włącz
Microsoft.ACE.OLEDB
pliki takie jak to:
Oto polecenia 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
Na nowszym SQL Server 2014 Używałeś 'DynamicParameters'
zamiast 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Upewnij się, że zarejestrowałeś msexcl40.dll w następujący sposób:
regsvr32 C:\Windows\SysWOW64\msexcl40.dll