Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não é possível criar uma instância do provedor OLE DB Microsoft.Jet.OLEDB.4.0 para servidor vinculado nulo


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.
  1. 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
  2. Instale-o em seu servidor.
  3. 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.
  4. 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