首页 > 代码库 > Sql server中访问Excel---select from Excel
Sql server中访问Excel---select from Excel
本文介绍在MSSMS中通过SQL语句查询Excel的方法。
访问Excel主要是通过Office提供的ACE数据源来完成这个操作,使用opendatasource来实现访问Excel。即在MSSMS中执行如下命令:
select * from opendatasource(‘Microsoft.ACE.OLEDB.12.0‘,‘data source="Excel文件绝对路径";Extended Properties=Excel 12.0‘)...SheetName$ --其中...和$不能省略
如果执行该语句的时候出现"SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries‘ 的 STATEMENT ‘OpenRowset/OpenDatasource‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Ad Hoc Distributed Queries‘。有关启用 ‘Ad Hoc Distributed Queries‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。"则可以在执行该语句之前执行exec sp_configure ‘show advanced options‘,1 reconfigure和exec sp_configure ‘Ad Hoc Distributed Queries‘,1 reconfigure,前一句是打开显示高级设置,后一条是打开‘Ad Hoc Distributed Queries‘。执行这两条以后在执行访问Excel的语句就没问题了。如果执行了这两条设置语句,最后一定要记得再执行exec sp_configure ‘Ad Hoc Distributed Queries‘,0 reconfigure和exec sp_configure ‘show advanced options‘,0 reconfigure来关闭这两个设置,因为这个设置如果设置为打开状态对于数据库是极其不安全的。
Sql server中访问Excel---select from Excel