'Microsoft.ACE.OLEDB.12.0' 64x Sql Server and 86x Office?

Chris Hayes picture Chris Hayes · May 24, 2010 · Viewed 54.2k times · Source

The error:

OLE DB provider 'Microsoft.ACE.OLEDB.12.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode.

And the answers I'm seeing is a conflict between 64 bit Sql Server and 32 bit Office. Is there a way to run an openrowset on Excel into Sql Server?

insert into dbo.FiscalCalendar 
select * from 
openrowset('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;Database=C:\Users\uname\Desktop\fy11.xlsx;',
'Select * from [Sheet1]')

Answer

user1390375 picture user1390375 · Feb 28, 2014

...the key is to install the 64-bit Access engine using the /passive flag:

c:>AccessDatabaseEngine_64 /passive