2012-10-02 113 views
2

基本上我有其中包含的「我的報告」的報道,我需要遷移到新的SSRS服務器負載一個報告服務器。SSRS - 獲取物理報告文件

問:

是他們的一種簡單的方法來獲取所有physical.RDL文件,而無需將文件一個接一個從舊服務器接口導出,然後上傳使用新的服務器接口?

期待您的回覆

史蒂芬

回答

1

有可以在這裏找到第三方的工具,可以讓你批量下載/上傳的RDL。

http://sqldbatips.com/showarticle.asp?ID=62

+0

我下載了這一點,但無法得到它連接 – swade1987

+0

嗯,不知道。在SSRS 2008上爲我工作,我不敢在這裏測試其他版本。 –

1

你可以寫一個小的.NET應用檢索他們的所有,使用SSRS Web服務API。該article on the GetItemDefinition方法示例代碼來獲得一個文件,這裏有一個相關的片段(複製/粘貼警示!):

ReportingService2010 rs = new ReportingService2010(); 
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/ReportService2010.asmx"; 
rs.Credentials = System.Net.CredentialCache.DefaultCredentials; 

string reportName = "http://<Server Name>/Docs/Documents" 
        + "/AdventureWorks Sample Reports/Sales Order Detail.rdl"; 
byte[] reportDefinition = null; 
System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); 

try 
{ 
    reportDefinition = rs.GetItemDefinition(reportName); 
    MemoryStream stream = new MemoryStream(reportDefinition); 

    string myDocumentsFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal); 

    doc.Load(stream); 
    doc.Save(Path.Combine(myDocumentsFolder, "Sales Order Detail.rdl")); 
} 

如果你寫一個小環周圍(的一部分)這個代碼,你可能能夠迅速抓住所有的文件。