web-dev-qa-db-fra.com

«Microsoft.ACE.OLEDB.12.0» ne peut pas être chargé en cours de traitement sur un serveur SQL 64 bits

Je ne trouve pas de solution à cette erreur:

Le fournisseur de base de données 32 bits OLE "Microsoft.ACE.OLEDB.12.0" ne peut pas être chargé en cours de traitement sur un serveur SQL 64 bits.

J'ai trouvé beaucoup de messages sur le Web, mais aucun n'a fonctionné.

Je travaille avec SQL Server 2014 64 bits et Office 2013

Code qui génère l'erreur:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                         'Excel 12.0 Xml;HDR=YES;Database=C:\SSIS\Table_nm.xlsx', 
                         'SELECT * FROM [Table_nm$]'); 
15
Pablo Gûereca

Il s'avère que vous pouvez obtenir le pilote 64 bits à partir d'ici.

https://www.Microsoft.com/en-us/download/details.aspx?id=13255

Après l'avoir téléchargé, ne double-cliquez pas dessus pour l'installer, installez-le à l'aide de l'invite de commande, qui devrait ressembler à ceci:

"C:\Users\rshuell001\Downloads\AccessDatabaseEngine_x64.exe" /passive

Le '/passive 'est la clé ici car elle empêche l'installation d'échouer si vous avez déjà installé la version 32 bits (via Office 32 bits).

23
asher