Ich habe MS Sql Server 2012 und Office 2013. Dies scheint sehr pingelig zu sein, daher müssen Sie sich möglicherweise an Ihre jeweiligen Versionen anpassen.
- Laden Sie die 64-Bit-Version von Microsoft.ACE.OLEDB.12.0 für Windows hier herunter:https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Installieren Sie es auf Ihrem Server.
- Überprüfen Sie den Benutzer, der SQL Server ausführt, und stellen Sie sicher, dass der Benutzer Zugriff auf das temporäre Verzeichnis C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp hat, wenn es sich um ein lokales Dienstkonto handelt, oder auf C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp, wenn es sich um ein Netzwerkdienstkonto handelt.
- Konfigurieren Sie „Ad Hoc Distributed Queries“ und aktivieren Sie die
Microsoft.ACE.OLEDB
Dateien wie diese:
Hier sind die SP_CONFIGURE-Befehle:
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
Auf neuerem SQL Server 2014 Sie hatten 'DynamicParameters'
verwendet statt 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Stellen Sie sicher, dass Sie msexcl40.dll wie folgt registrieren:
regsvr32 C:\Windows\SysWOW64\msexcl40.dll