2

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

问题:

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

期待你的答复

史蒂文

4

2 回答 2

1

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

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

于 2012-10-02T08:54:44.747 回答
1

您可以使用 SSRS Web 服务 API 编写一个小型 .NET 应用程序来检索它们。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"));
}

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

于 2012-10-02T14:08:03.880 回答