sql >> Databasteknik >  >> RDS >> Sqlserver

Det går inte att skapa en instans av OLE DB-leverantören Microsoft.Jet.OLEDB.4.0 för länkad server null

Jag har MS SQL Server 2012 och Office 2013. Det här verkar vara väldigt petigt, så du kanske måste anpassa dig till dina specifika versioner.

  1. Ladda ned Microsoft.ACE.OLEDB.12.0 för Windows, 64-bitarsversionen finns här:https://www.microsoft.com/en-us/download/details.aspx?id=13255
  2. Installera det på din server.
  3. Kontrollera användaren som kör SQL Server och se till att användaren har tillgång till den tillfälliga katalogen C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp om det är ett lokalt tjänstkonto eller C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp om det är ett nätverkstjänstkonto.
  4. Konfigurera "Ad Hoc Distributed Queries" och aktivera Microsoft.ACE.OLEDB filer så här:

Här är SP_CONFIGURE-kommandona:

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

På nyare SQL Server 2014 Du använde 'DynamicParameters' istället för 'DynamicParam'

EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1

Se till att du registrerar msexcl40.dll så här:

regsvr32 C:\Windows\SysWOW64\msexcl40.dll


  1. MySQL 2018:Vad finns i 8.0 och andra observationer

  2. visar en bild lagrad i en mysql blob

  3. Gruppering med ett ärendeutlåtande

  4. Hur får jag kolumndatatyp i Oracle med PL-SQL med låga privilegier?