查询语句:
select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 4.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
既然知道查询语句了,导入就不用说了吧。这还不能一次性执行成功,是因为有些配置未准备齐全。
1、提示:SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用“Ad Hoc Distributed Queries”。有关启用“Ad Hoc Distributed Queries”的详细信息,请搜索 SQL Server 联机丛书中的“Ad Hoc Distributed Queries”。
需要启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
附关闭的方法
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
2、Microsoft.Jet.OLEDB.4.0 引擎设置阻止了导入和导出
SQL Server Management Studio->服务器对象-->链接服务器-->Microsoft.Jet.OLEDB.4.0-->右键属性-->访问接口选项:全都不选
这是大多数文章得解决方法,可是我遇到的是访问接口中没有Microsoft.Jet.OLEDB.4.0,这需要安装
2、无法创建链接服务器“(null)”的 OLE DB 访问接口“MICROSOFT.JET.OLEDB.4.0”的实例。
查看 SQL Server Management Studio->服务器对象-->链接服务器 看有没有OLEDB的接口,如果没有需要安装Excel。或者安装 AccessDatabaseEngine(网上有资源可以下载),查看SQL Server是什么版本,安装对应的版本。查看版本的语句:
SELECT @@VERSION
3、尚未注册 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.12.0"。
——待续。