C# SQL Server 2008 R2 Reporting Services-获取订阅+;时间表链接

C# SQL Server 2008 R2 Reporting Services-获取订阅+;时间表链接,c#,.net,reporting-services,sql-server-2008-r2,C#,.net,Reporting Services,Sql Server 2008 R2,使用SQL Server 2008 R2、.NET 4和C#,我在查找如何链接报表计划和报表订阅时遇到了一些问题 我可以得到一个所有报告、所有订阅和所有计划的列表,这很好,也很有效。因此,我的数据以最原始的形式存在,但当我试图找到某种方法来获取使用ScheduleA的所有订阅的列表时,例如,我根本找不到任何东西 我搜索了MSDN,花了一个下午的时间拖网搜索谷歌,都没有用。我希望这没有看起来那么困难,因为它真的不应该如此。感谢对我最初问题发表评论的人,这让我找到了一种接受日程ID的方法,并在收到报

使用SQL Server 2008 R2、.NET 4和C#,我在查找如何链接报表计划和报表订阅时遇到了一些问题

我可以得到一个所有报告、所有订阅和所有计划的列表,这很好,也很有效。因此,我的数据以最原始的形式存在,但当我试图找到某种方法来获取使用ScheduleA的所有订阅的列表时,例如,我根本找不到任何东西


我搜索了MSDN,花了一个下午的时间拖网搜索谷歌,都没有用。我希望这没有看起来那么困难,因为它真的不应该如此。

感谢对我最初问题发表评论的人,这让我找到了一种接受日程ID的方法,并在收到报告后执行以下操作:

var subscriptions = service.ListSubscriptions(report.Path);

foreach (var subscription in subscriptions)
{
    ExtensionSettings settings;
    string description, status, eventType, matchData;
    ActiveState state;
    ParameterValue[] parameters;
    string user = service.GetSubscriptionProperties(subscription.SubscriptionID, out settings,
                                                    out description, out state, out status, out eventType,
                                                    out matchData, out parameters);
    if (matchData == scheduleId)
    {
        // Do what I need to do
    }
}

这最终给了我想要的解决方案。不幸的是,现在我讨论了一个不同的问题,但如果需要,我将提出一个不同的问题。

似乎您需要为每个订阅调用GetSubscriptionProperties()。MatchData out参数将是序列化计划定义或共享计划的GUID。将该GUID传递给GetScheduleProperties