码迷,mamicode.com
首页 > 数据库 > 详细

通过 Microsoft.Ace.OLEDB 接口导入 EXCEL 到SQLSERVER

时间:2020-04-08 11:57:39      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:sof   64位   col   安装   configure   模式   RoCE   sel   div   

使用前确保安装 AccessDatabaseEngine_X64.exe

 

本机环境:

win7 x64 SP1 旗舰版

SqlServer 2008 R2

Office 2010 32位版

 

使用过程中遇到过的异常:

无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0" 的实例。

因为 OLE DB 访问接口 ‘Microsoft.Ace.OLEDB.12.0‘ 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
 

解决方案是卸载Office 2010 32位版,重新安装Office 2010 64位版

 

完整脚本

-- 开启导入功能
EXEC sp_configure show advanced options,1
reconfigure
exec sp_configure Ad Hoc Distributed Queries,1
RECONFIGURE

--允许在进程中使用ACE.OLEDB.12
EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NAllowInProcess, 1
--允许动态参数
EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NDynamicParameters, 1
SELECT * FROM OPENDATASOURCE(Microsoft.ACE.OLEDB.12.0,Excel 12.0;HDR=Yes;IMEX=1;Data Source=C:\Users\t\Desktop\pan\ziyang.xlsx)...[Sheet3$] ;

-- 关闭设置
EXEC sp_configure show advanced options,0
reconfigure
exec sp_configure Ad Hoc Distributed Queries,0
RECONFIGURE

-- 关闭设置 ACE.OLEDB.12
EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NAllowInProcess, 0
--允许动态参数
EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NDynamicParameters, 0

 

 

通过 Microsoft.Ace.OLEDB 接口导入 EXCEL 到SQLSERVER

标签:sof   64位   col   安装   configure   模式   RoCE   sel   div   

原文地址:https://www.cnblogs.com/challengesoflife/p/12658638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!