跨服务器查询语句,Z数据库中的T表
select * from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerName;User ID=MyUID;Password=MyPass'
).z.dbo.t
问题现象:
SQL2005结转生产制造时出错!结转失败:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
原因:
SQL2005年结生产制造一定要注意 启用STATEMENT'OpenRowset/OpenDatasource'支持
操作方法:
1. 如果用SQL2005数据库,在启用生产制造产品下做年结时必须进行设置:SQL2005-配置工具-外围应用配置器-功能的外围应用配置-即席远程查询,将复选框选中,否则生产制造产品无法年结成功;(见图)
2. 也需要将本服务器的也启用。
3. 用如下语句也可达到一样的效果
-- 先启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
-- 使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
现在执行如上语句成功。
阅读(695) | 评论(0) | 转发(0) |