Ho MS Sql Server 2012 e Office 2013. Sembra essere molto complicato, quindi potresti dover adattarti alle tue versioni particolari.
- Scarica Microsoft.ACE.OLEDB.12.0 per Windows, versione a 64 bit disponibile qui:https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Installalo sul tuo server.
- Controlla l'utente che esegue SQL Server e assicurati che abbia accesso alla directory temporanea C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp se si tratta di un account del servizio locale o C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp se si tratta di un account di servizio di rete.
- Configura "Query distribuite ad hoc" e abilita
Microsoft.ACE.OLEDB
file come questo:
Ecco i comandi 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
Su SQL Server 2014 più recente Hai usato 'DynamicParameters'
invece di 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Assicurati di registrare msexcl40.dll in questo modo:
regsvr32 C:\Windows\SysWOW64\msexcl40.dll