跨服务器读数据出错
时间:2010-07-20 来源:wandrew
需求:
跨服务器查询语句,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 现在执行如上语句成功。
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 现在执行如上语句成功。
相关阅读 更多 +