今天遇到了SQL对组件"Ad Hoc Distributed Queries"的"STATEMENT'OpenRowset OpenDatasource"的访问限制,有人提供了解决办法,转发过来:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。开启方法如下:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\A.xls;Extended Properties=EXCEL 5.0')...[户表信息$] ;
-------------------------------------------------------------------------------------------
EXEC sp_addlinkedserver @server = 'hysms', @srvproduct='MySQL',
@provider = 'MSDASQL', @datasrc = hysms
GO
EXEC sp_addlinkedsrvlogin
@rmtsrvname='hysms',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='pass'
select * from openquery (hysms,'select * from i_duanxin')