2012-09-25 188 views
0

使用SQL Server 2008 R2,.NET 4和C#,我在查找如何鏈接報告計劃和報告訂閱時遇到了一些問題。SQL Server 2008 R2報告服務 - 獲取訂閱+計劃鏈接

我可以得到所有報告,所有訂閱和所有日程表的列表,這很好,並且工作正常。所以我有我的數據以它最古老的形式,但是當試圖找到某種方式來獲得所有使用ScheduleA的訂閱的列表時,例如,我根本找不到任何東西。

我搜索了MSDN,花了下午時間拖網Google,都無濟於事。我希望這不像看起來那麼困難,因爲它確實不應該。

+0

看來您需要爲每個訂閱調用GetSubscriptionProperties()。 MatchData輸出參數將是序列化計劃定義或共享計劃的GUID。將該GUID傳遞給GetScheduleProperties – user1578107

回答

0

感謝誰在我原來的問題提出意見的人,那使我具有公認的時間表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 
    } 
} 

該結束了給我我正在尋找的解決方案。不幸的是,現在我遇到了另一個問題,但如果需要的話,我會提出一個不同的問題。