OpenRowSet SQLServer 2012中 打开excel文件

来源:互联网 发布:阿里云路况预测 编辑:程序博客网 时间:2024/06/05 23:56

问题:

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”。


解决方法:

exec sp_configure 'show advanced options',1  

reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1  
reconfigure  

select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=0;Database=C:\temp.xls', 'select * from [Sheet1$] where 姓名 is not null') 

exec sp_configure 'Ad Hoc Distributed Queries',0  
reconfigure  
exec sp_configure 'show advanced options',0  

reconfigure


注意:

 C:\temp.xls文件是excel97-2003,有列名为姓名的列。

0 0