0

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

4

1 回答 1

1

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

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

参考:《设置Web服务的Url属性

于 2013-10-01T21:00:59.083 回答