簡體   English   中英

簡單的SQL Reporting Services問題

[英]Simple SQL Reporting Services Question

我只是在編寫一個項目的可行性研究,在深入研究之前,我可以得到一個.net程序來獲取SQL Reporting Services中服務器的報告列表嗎?

換句話說,如果有人添加了新報告,我們希望它顯示在列表中。 另外,您可以通過某種枚舉獲取有關報告的詳細信息嗎?

您可以通過Reporting Services Web服務訪問所有這些數據。 您必須首先創建一個代理對象,但是一旦完成,獲取報告列表就很簡單。 例如:

ReportingService2005 service = new ReportingService2005();
service.Url = ConfigurationManager.AppSettings["ReportingServicesURL"];
service.UseDefaultCredentials = true;
CatalogItem[] items = service.ListChildren(reportingServicesfolderPath, false);
List<string> reports = new List<string>(items.Length);
foreach (var item in items)
{
    reports.Add(item.Name);
}
return reports;

Reporting Services具有SOAP API,因此您可以通過該API檢索報告列表,但我認為直接進入數據庫會更容易。 ReportServer數據庫中的Catalog表包含每個報告的列表。 您甚至可以從那里鏈接到ExecutionLog表,以查明該表何時運行(盡管該表似乎是三個月左右的滑動窗口-您將沒有比該表更早的執行細節)。

建議您閱讀將Reporting Services集成到應用程序中 畢竟Reporting Service是WebService端點,因此您可以使用SOAP WebService端點或HTTP調用。 除此之外,還有Reporting Services類庫 ,最后是Reporting Services WMI提供程序 Afaik上面的每個庫都允許您執行所要求的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM