sql >> Base de Datos >  >> RDS >> Sqlserver

No se puede crear una instancia del proveedor OLE DB Microsoft.Jet.OLEDB.4.0 para el servidor vinculado nulo

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.

  1. 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
  2. Instálelo en su servidor.
  3. 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.
  4. 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