Chinaunix首页 | 论坛 | 博客
  • 博客访问: 493818
  • 博文数量: 37
  • 博客积分: 3050
  • 博客等级: 中校
  • 技术积分: 1495
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-21 12:28
文章分类

全部博文(37)

文章存档

2011年(2)

2010年(31)

2009年(1)

2008年(3)

我的朋友

分类:

2010-07-20 14:35:33

 
需求:
   跨服务器查询语句,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) |
给主人留下些什么吧!~~