替代64位Windows 7计算机的Microsoft ODBC驱动程序(将Excel数据提供给SQL)

时间:2015-03-24 16:50:58

标签: sql-server sql-server-2012 64-bit odbc

问题:

我一直在尝试获取一个简单的应用程序/存储过程/ sql查询/任何东西,以便从我的64位Windows 7计算机上将数据从excel电子表格提取到MS SQL Server 2012。

我的IT部门安装了Microsoft Office 2010,它与我独立安装的Microsoft Access OLEDB驱动程序(称为Microsoft.Ace.OLEDB.12.0)不兼容。

尝试安装64位OLEDB驱动程序时,我从安装程序中收到以下错误:

img

我尝试使用SQL OPENROWSET查询通过现有的32位驱动程序提取数据:

 SELECT * FROM OPENROWSET('Provider=Microsoft.ACE.OLEDB.12.0', 
   'Extended Properties=Excel 12.0;
   Data Source=c:\path\to\excel\spreadsheet.xlsx',
   [Sheet1$]);

sp_configure 'Ad Hoc Distributed Queries',1
go
reconfigure with override
go SELECT * FROM OPENROWSET ('Microsoft.Ace.OLEDB.12.0','Excel 12.0; Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=c:\path\to\excel\spreadsheet.xlsx; Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1','SELECT * FROM [Sheet1$]') AS exl

导致以下错误:

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

或者:

 The OLE DB provider "Provider=Microsoft.ACE.OLEDB.12.0" has not been registered.

问题:

  1. 还有哪些其他驱动程序(如果有)代替兼容32位Office安装的Microsoft.Ace.OLEDB.12.0驱动程序?

  2. (如果对第1号没有答案)有人能告诉我是否可以卸载32位办公室是否允许我安装和使用64位驱动程序? (想确保我没有失去MS Office和我的时间)。

  3. 全部谢谢!

1 个答案:

答案 0 :(得分:0)

看看这对你有帮助,大约在页面的一半。

http://sqlwithmanoj.com/tag/microsoft-ace-oledb-12-0/