我有一个 SSRS 报告设置了一个订阅,该订阅将 PDF 输出到 Windows 共享。我的问题是这个。我需要向报告订阅添加 1 个报告参数,并且能够让用户根据他们定义的参数“触发”订阅。(让他们访问报告服务站点不是一种选择)。
我目前的想法涉及在 .NET 中编写一个可以使用 FireEvent 方法触发订阅的应用程序,但是我不知道如何能够以这种方式将参数传递给订阅。我已经研究了 ReportingServices2010 课程中的其他各种方法,但我完全不知所措,并且已经将自己交给了这个网站的智慧。
以下是我目前使用的代码,效果很好,但我需要对其进行扩展或更改:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SSRSReportGenerator.SRSWebService;
namespace SSRSReportGenerator
{
class Program
{
static void Main(string[] args)
{
ReportingService2010 rs = new ReportingService2010();
rs.Url = "http://server/ReportServer/ReportService2010.asmx";
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
//set report properties
string site = "/report/report";
// Get the subscription
Subscription[] subs = rs.ListMySubscriptions(site);
try
{
//specify null for siteURL if native mode
rs.FireEvent("TimedSubscription", subs[0].SubscriptionID, null);
Console.WriteLine("Event fired.");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadKey();
}
}
}
}
再次感谢大家!