Eu tenho o servidor MS Sql 2012 e o Office 2013. Isso parece ser muito complicado, então você pode ter que se ajustar às suas versões específicas.
- Faça o download do Microsoft.ACE.OLEDB.12.0 para Windows, versão de 64 bits encontrada aqui:https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Instale-o em seu servidor.
- Verifique o usuário que está executando o SQL Server e certifique-se de que ele tenha acesso ao diretório temporário C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp se for uma conta de serviço local ou C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp se for uma conta de serviço de rede.
- Configure 'Consultas distribuídas ad hoc' e ative o
Microsoft.ACE.OLEDB
arquivos como este:
Aqui estão os 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
No SQL Server 2014 mais recente Você usou
'DynamicParameters'
em vez de 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Certifique-se de registrar msexcl40.dll assim:
regsvr32 C:\Windows\SysWOW64\msexcl40.dll