Tengo el servidor MS Sql 2012 y Office 2013. Esto parece ser muy quisquilloso, por lo que es posible que deba adaptarse a sus versiones particulares.
- Descargue Microsoft.ACE.OLEDB.12.0 para Windows, versión de 64 bits que se encuentra aquí:https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Instálelo en su servidor.
- Verifique el usuario que ejecuta SQL Server y asegúrese de que el usuario tenga acceso al directorio temporal C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp si es una cuenta de servicio local o C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp si es una cuenta de servicio de red.
- Configure 'Consultas distribuidas ad hoc' y habilite
Microsoft.ACE.OLEDB
archivos como este:
Aquí están los comandos 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
En SQL Server 2014 más reciente Usaste 'DynamicParameters'
en lugar de 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Asegúrese de registrar msexcl40.dll así:
regsvr32 C:\Windows\SysWOW64\msexcl40.dll