因此我无法在项目中引用任何特定的SSRS Web服务,因为我希望用户能够将其指向自己的报表服务器。我有什么方法可以做到这一点吗?
具体而言,我需要能够(至少)获取可用的报告,查看报告和安排报告。我还没有通过c#触及报告调度,但是报告选择/查看很简单,并且引用了我的本地报告服务。有没有办法为任何给定的报告服务动态加载Web服务 - 假设我知道URL或服务器和实例名称?
var rs = new ReportingService2005
{
Credentials = System.Net.CredentialCache.DefaultCredentials
};
// get catalog items from the report server database
CatalogItem[] items = rs.ListChildren("/", true);
// add each report to the combobox
foreach (CatalogItem ci in items)
{
if (ci.Type == ItemTypeEnum.Report)
comboBox1.Items.Add(ci.Path);
}
这就是我目前要提取的可用报告。但是,如上所述,它直接引用我自己的报表服务器。 ReportingService2005(我命名为.asmx web服务的引用)是我希望能够动态加载的。
答案 0 :(得分:1)
绝对有可能。 ReportingServices具有您可以分配的.Url
属性。所以你可以这样做:
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
rs.Url = "http://<Server Name>/reportserver/ReportService2005.asmx";