Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
916 views
in Technique[技术] by (71.8m points)

ssis - "Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server

I can not find a solution for this error:

The 32-bit OLE DB provider "Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server.

I found a lot of posts on the web but none work.

I am working with SQL server 2014 64 bits and office 2013

Code that generates the error:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                         'Excel 12.0 Xml;HDR=YES;Database=C:SSISTable_nm.xlsx', 
                         'SELECT * FROM [Table_nm$]'); 
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

As it turns out, you can get the 64-bit driver from here.

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

After you download it, don't double-click it to install it, install it using the command prompt, which should be something like this:

"C:Users
shuell001DownloadsAccessDatabaseEngine_x64.exe" /passive

The '/passive' is the key here because it prevents the installation from failing if you already have the 32-bit version installed (via 32-bit Office).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...