在我们关于报表管理器的许多报表中,我都有几个内联 SQL。现在我需要对所有这些进行一些代码更改,有没有办法根据内联 SQL 而不是任何 SP 列出所有这些报告?
谢谢,
D
在我们关于报表管理器的许多报表中,我都有几个内联 SQL。现在我需要对所有这些进行一些代码更改,有没有办法根据内联 SQL 而不是任何 SP 列出所有这些报告?
谢谢,
D
您可以执行 NXC 建议的操作,或者如果这是一次性活动,您只需在文本编辑器中打开报告的 RDL 文件,然后搜索常见的 SQL 字符串,如“select”、“delete”等,即可找到具有内联 SQL 的报告
您可以使用报告服务 API 从 Web 服务获取报告并在 XML 中搜索适当的标签。可以在此处找到报告定义 XML 架构和图表的 MSDN 文档,并在此处找到数据源相关部分的图表。 API 文档可以在这里找到。
您可以编写 .Net 程序,使用ReportingService.GetReportDefinition和SetReportDefinition从 Reporting Services API 上传和下载报告。您可以将报告定义上传或下载到缓冲区中,该缓冲区可以读取或写入磁盘。在某个地方,我有一个 Ironpython 原型可以做到这一点,如果我找到它,我会发布它。
要使用它,您需要查询 WSDL 并生成一个存根。执行此操作的工具称为WSDL.EXE。如果我能找到它,我会把它贴在这里,但你也可以很容易地使用 C#。
还有一个名为rs.exe的工具随BIDS一起提供,该工具采用 VB.net 程序,并在其顶部和尾部包含 Reporting Services API。您可以使用它从命令行执行 VB.Net 脚本 - 本质上它是程序的顶部和尾部,在后台编译它并针对报表服务器运行它。