C# SQL Server 2008 R2 Reporting Services-获取订阅+;时间表链接
使用SQL Server 2008 R2、.NET 4和C#,我在查找如何链接报表计划和报表订阅时遇到了一些问题 我可以得到一个所有报告、所有订阅和所有计划的列表,这很好,也很有效。因此,我的数据以最原始的形式存在,但当我试图找到某种方法来获取使用ScheduleA的所有订阅的列表时,例如,我根本找不到任何东西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的方法,并在收到报
我搜索了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