日期:2014-05-18  浏览次数:20449 次

怎样将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 可以到官方下载
------解决方案--------------------
SQL code
启用 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楼说的系统选项要启用喔.