2

基本的に、新しいSSRSサーバーに移行する必要がある「マイレポート」レポートを多数含むレポートサーバーがあります。

質問:

古いサーバー インターフェイスからファイルを 1 つずつエクスポートし、新しいサーバー インターフェイスを使用してアップロードすることなく、すべての physical.RDL ファイルを取得する簡単な方法はありますか?

お返事を楽しみにしています

スティーブン

4

2 に答える 2

1

RDL のバッチ ダウンロード/アップロードを可能にするサード パーティ ツールがここにあります。

http://sqldbatips.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 に答える