检查我的报告服务器上是否存在报告的最便宜的方法是什么? [英] What's the "cheapest" way to check if a report exists on my Reporting Server?

查看:13
本文介绍了检查我的报告服务器上是否存在报告的最便宜的方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果安装了SQL Server 2008 Reporting Services,检查给定报表(按其报表名称+报表路径,例如/MyReports/SomeOddballReport)是否存在(或不存在)的最"便宜"方式是什么?

我在ReportServer Web服务上看到了很多潜在的候选者-哪一个最快,使用的系统资源最少??

  • FindItems()
  • GetReportDefinition()
  • GetReportLink()
  • GetProperties()

我还遗漏了其他什么吗?感谢您的任何提示和指点!我发现Reporting Services Web服务接口缺少文档和示例,真的……

推荐答案

由于MS Reporting Services在MS SQL上运行,因此您可以轻松选择返回报表名称并查看报表是否存在。在SQL Server内部有一个名为ReportServer的数据库。该数据库中有一个名为Catalog的表。目录表格存储数据源、报告和一些其他重要信息。关键字段是"名称"和"类型"。类型区分a报表/a数据源/等。当然名称很明显,它是报表的名称。

若要获取有关报告服务实例的所有报告,请尝试执行以下操作:

USE ReportServer
GO
SELECT Name, Description FROM Catalog WHERE Type=2

获取所有数据源:

USE ReportServer
Go
SELECT Name, Description FROM Catalog WHERE Type=5

因此,如果您有名称或至少知道报告的开头,您可以执行LIKE查询:

SELECT Name FROM Catalog WHERE Name LIKE '%Employee Report%'

查看我的博客了解更多信息:

http://weblogs.sqlteam.com/jhermiz/archive/2007/08/14/60285.aspx

另外,因为您提到了它,所以还有一个路径字段,它可能包含如下数据:

/eTime/按部门列出的工时汇总

这篇关于检查我的报告服务器上是否存在报告的最便宜的方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆