Microsoft SQL Server用语句导入Excel表

查询语句:

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',1 
reconfigure 
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"。



——待续。


你可能感兴趣的:(SQL)