Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Impossibile creare un'istanza del provider OLE DB Microsoft.Jet.OLEDB.4.0 per il server collegato null

Ho MS Sql Server 2012 e Office 2013. Sembra essere molto complicato, quindi potresti dover adattarti alle tue versioni particolari.

  1. 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
  2. Installalo sul tuo server.
  3. 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.
  4. 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