【问题标题】:SSRS - Obtaining the physical report filesSSRS - 获取物理报告文件
【发布时间】:2012-10-02 22:08:03
【问题描述】:

基本上,我有一个报告服务器,其中包含大量“我的报告”报告,我需要将这些报告迁移到新的 SSRS 服务器。

问题:

他们是一种简单的方法来获取所有的物理.RDL 文件,而无需从旧的服务器界面逐个导出文件,然后使用新的服务器界面上传吗?

期待您的回复

史蒂文

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    这里有一个第三方工具可以让你批量下载/上传rdls。

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

    【讨论】:

    • 我下载了这个但无法连接
    • 嗯,不确定。在 SSRS 2008 上为我工作,恐怕无法在这里测试其他版本。
    【解决方案2】:

    您可以使用 SSRS Web 服务 API 编写一个小型 .NET 应用程序来检索它们。 article on the GetItemDefinition 方法有获取单个文件的示例代码,这里有一个相关的 sn-p(复制/粘贴警报!):

    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"));
    }
    

    如果您围绕(部分)这段代码编写一个小循环,您可能能够快速获取所有文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多