问题:
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
reconfigureexec 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,有列名为姓名的列。