1

SQLReportingServiceを使用するプロジェクトがあります。プロジェクトには、既存のレポートをシステムに宣言するためのUIがあるため、不要なすべてのレポートを表示する必要はありません。この宣言を行うために、ReportServerデータベースでCatalogIdを使用しており、テーブル内のカタログテーブルでデータを取得しています。しかし、レポートをサーバーにデプロイすると、CatalogIdが変更され、これが大きな問題を引き起こします。

ReportServerはサーバー上で変更を保持していますか?

古いCatalogIdを使用して新しいCatalogIdを取得するにはどうすればよいですか?

4

1 に答える 1

0

まず、ReportServer データベースの Catalog テーブルの ItemID を使用して、質問に答えようとします。この GUID は維持され、レポートが再展開された場合にも保持されます。レポートが削除され、再展開された場合にのみ変更されます。

これらの ItemID は、レポートが実行された場合にのみ維持されます。レガシ GUID は、ExecutionLogStorage テーブルで ReportID として見つけることができます。ELS は、ConfigurationInfo テーブルで「ExecutionLogDaysKept」設定が設定されているものにのみデータを保存します。

次に、カスタム UI は不要です。適切なフォルダー構造があれば、Active Directory グループを通じてレポートのアクセス許可を維持できます。レポートへのアクセス許可を持たないグループ内の個人には表示されません。

于 2012-08-02T14:50:03.273 に答える