1

我有一个使用 SQL 报告服务的项目。在项目中,我有一个 UI 可以向他们的系统声明现有报告,因此他们不必查看他们不需要的所有报告。为了做这个声明,我在 ReportServer 数据库中使用 CatalogId,我的表中的目录表来获取数据。但是当我将报告部署到服务器时,CatalogId 会发生变化,这给我带来了一个大问题。

ReportServer 是否将更改保留在服务器上?

如何通过使用旧的 CatalogId 获取新的 CatalogId?

4

1 回答 1

0

首先要尝试回答您的问题,您应该使用 ReportServer 数据库的 Catalog 表中的 ItemID。此 GUID 会被维护,并且在重新部署报告时将持续存在。仅当删除并重新部署报告时,它才会更改。

只有在运行报告时才会维护这些 ItemID。您可以在 ExecutionLogStorage 表中找到旧版 GUID 作为 ReportID。ELS 仅将数据存储到您在 ConfigurationInfo 表中设置了“ExecutionLogDaysKept”设置的任何位置。

其次,不需要自定义 UI,因为使用适当的文件夹结构,您可以通过 Active Directory 组维护报告权限。没有报告权限的组中的个人看不到它们。

于 2012-08-02T14:50:03.273 回答