J'ai MS SQL Server 2012 et Office 2013. Cela semble être très pointilleux, vous devrez donc peut-être vous adapter à vos versions particulières.
- Téléchargez Microsoft.ACE.OLEDB.12.0 pour Windows, version 64 bits disponible ici :https://www.microsoft.com/en-us/download/details.aspx?id=13255
- Installez-le sur votre serveur.
- Vérifiez l'utilisateur qui exécute SQL Server et assurez-vous qu'il a accès au répertoire temporaire C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp s'il s'agit d'un compte de service local ou C:\Windows\ServiceProfiles\NetworkService\ AppData\Local\Temp s'il s'agit d'un compte de service réseau.
- Configurez les « requêtes distribuées ad hoc » et activez
Microsoft.ACE.OLEDB
des fichiers comme celui-ci :
Voici les commandes 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
Sur la version plus récente de SQL Server 2014 Vous avez utilisé 'DynamicParameters'
au lieu de 'DynamicParam'
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
Assurez-vous d'enregistrer msexcl40.dll comme ceci :
regsvr32 C:\Windows\SysWOW64\msexcl40.dll