日期:2014-05-17  浏览次数:20463 次

怎样将excel数据导入SQL2008?
操作系统 win7 64
SQL 2008 64

我希望能将excel中的数据导入到sql
在尝试语句:

select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=D:\myfile.xls',sheet1$)

时遇到:

消息 7403,级别 16,状态 1,第 1 行
尚未注册 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0"。

不知如何解决,求指点。
------解决方案--------------------
查看你的  服务器对象---链接服务器--访问接口 下是否 有  “MICROSOFT.JET.OLEDB.4.0”,没有就安装
这个 AccessDatabaseEngine  工具,然后再执行SQL 就没有问题了。安装完 AccessDatabaseEngine  这个工具后会 有 “Microsoft.ACE.OLEDB.12.0”,如果用 “MICROSOFT.JET.OLEDB.4.0” 还是不行的话 换成“Microsoft.ACE.OLEDB.12.0“  这个 ,这是SQL 2008 以后 执行EXCEL导入导出的写法。
这个 AccessDatabaseEngine 才25M 可以到官方下载
------解决方案--------------------
启用 Ad Hoc Distributed Queries  选项
sp_configure 'show advanced options',1
reconfigure 
sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

------解决方案--------------------
安装AccessDatabaseEngine_x64.exe

我是win7+office2010+sql2008r2,装这个搞定.

另:9楼说的系统选项要启用喔.