从任何给定的URL获取ssrs Web服务?

时间:2013-10-01 20:25:34

标签: c# sql sql-server reporting-services

因此我无法在项目中引用任何特定的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服务的引用)是我希望能够动态加载的。

1 个答案:

答案 0 :(得分:1)

绝对有可能。 ReportingServices具有您可以分配的.Url属性。所以你可以这样做:

rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
rs.Url = "http://<Server Name>/reportserver/ReportService2005.asmx";

参考:“Setting the Url Property of the Web Service