在SQL Server Reporting Services的数据集中刷新字段时发生查询超时
2011-05-07 19:31
337 查看
在Reporting Services中创建数据集时,通常会点击“刷新字段”以在数据源中运行查询,并检索填充“报表数据”窗格中的数据集字段集合时所需的字段名称。
但是,如果查询返回大量数据,导致用时太长,则会发生超时,并且这个超时时间是无法更改的(经确认,这是一个BUG)。
解决的办法是用SET FMTONLY选项,示例如下。
如果用的是存储过程,则可改为
其作用是使查询不产生结果集,只返回元数据。其实就相当于一个什么行都不返回的结果集,但是你可以从中得到结果集的字段。
然后再点击“刷新字段”,即可避免因返回大量数据而超时。之后记得在查询中去掉SET FMTONLY选项,不然报表永远都不会有数据!
要注意的是,由于SET FMTONLY选项会使所有查询都不返回数据,因此如果你的查询中有用到中间结果集,可能会导致最终什么都返回不出来而报错。这个在这里不作详细说明,请各位自行体会。
点击这里加入SQL Server精英群
但是,如果查询返回大量数据,导致用时太长,则会发生超时,并且这个超时时间是无法更改的(经确认,这是一个BUG)。
解决的办法是用SET FMTONLY选项,示例如下。
SET FMTONLY ON; GO SELECT * FROM HumanResources.Employee; GO SET FMTONLY OFF; GO
如果用的是存储过程,则可改为
SET FMTONLY ON; GO EXEC StoredProcdureName; GO SET FMTONLY OFF; GO
其作用是使查询不产生结果集,只返回元数据。其实就相当于一个什么行都不返回的结果集,但是你可以从中得到结果集的字段。
然后再点击“刷新字段”,即可避免因返回大量数据而超时。之后记得在查询中去掉SET FMTONLY选项,不然报表永远都不会有数据!
要注意的是,由于SET FMTONLY选项会使所有查询都不返回数据,因此如果你的查询中有用到中间结果集,可能会导致最终什么都返回不出来而报错。这个在这里不作详细说明,请各位自行体会。
点击这里加入SQL Server精英群
相关文章推荐
- SqlServerDistinct为何失灵(Distinct的唯一是查出的数据集中的一行,而不是限制,Distinct后边的字段,而是Distinct后边的那行数据)
- sql server里如何查询字段值为null的数据
- Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据
- SQLServer\framework启动报异常:Module的类型初始值设定项引发异常 [转]QQ空间、新浪微博、腾讯微博等一键分享API链接代码 window下 mongodb快速安装 数据表查询所有子/父节点 C#学习笔记1
- SQL Server Reporting Services 开发技巧总结
- Sql Server中查询今天、昨天、本周、上周、本月、上月数据
- 通过程序的方式将Reporting Service 报表转成 PDF--- SQL Server Reporting Services 2005
- 数据库SQL语句:查询一张表中某字段重复的数据
- Microsoft Reporting Services in Action:用自定义代码扩展 Microsoft SQL Server 2000 Reporting Services
- 配置SQL Server Reporting Services访问权限
- SQL Server Reporting Services 用户不具有所需的权限。请验证授予了足够的权限并且解决了 Windows 用户帐户控制(UAC)限制问题。
- [收藏]利用SQL Server Reporting Services 从应用程序生成用户友好的报表
- Microsoft SQLServer 2005查询表字段的几个视图含义
- Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据
- SQL Server T-SQL数据查询
- SQL Server Reporting Services(简称SSRS)
- 如何把个表的合计字段 合并SQL查询到一个结果集中
- sqlserver中查询表,查询表的字段方式
- sql语句 查询字段中指定字符之间的数据
- sql查询一张表中两个字段重复的数据并得到其主键