2

SQL ReportingWindows Azure のコンポーネントを古いポータルから新しい html 5 に移行する過程で、フォルダー階層が 2 レベルの深さに制限されました (この記事に示されているように)。

ただし、この記事では、既存のレポート サービスがさらに深い階層を持つことができると述べています。一方、Business Intelligence Development Studio ではサブ フォルダーに展開できます。

階層を次のように保存しました。

  • ルート レベル
    • クライアント レポート
    • 内部報告
      • レポート カテゴリ 1
        • 情報源
        • Report1.rdl
        • Report2.rdl
      • レポート カテゴリ 2

レポートの数が多いため、すべてのフォルダーをルート レベルに置くことは現実的ではありませんが、これまでのところ、階層は正しく機能しています。

しかし、問題が発生しました。データ ソースを更新したり、2 レベルを超える深さのレポートを削除したりすることはできなくなりました。

すべてのレポートを非常に制限的な構造に見えるように再構築するのではなくSQL Reporting、API、BIDS、または Powershell のいずれかを介して、ポータルの外部でレポートを管理する方法はありますか?

4

1 に答える 1

0

わかりましたので、これについて少し調査しました。Windows Azure の SQL レポートは、レポートをプログラムで管理するためのReportService2010 SOAP インターフェイスを公開します。

WSDL ツールで生成されたプロキシを使用して、以下の C# コードを使用して SQL レポートにリモート接続できます。

var reportServiceUrl = 
    "https://X.reporting.windows.net/reportserver/reportservice2010.asmx?wsdl";
var serviceUsername = "AdminUserName;
var servicePassword = "AdminPassword";

var reportingService = new ReportingService2010
    {
        Url = reportServiceUrl,
        CookieContainer = new CookieContainer()
    };

 reportingService.LogonUser(serviceUsername, servicePassword, reportServiceUrl);

その後、reportingServiceオブジェクトを使用して、SQL レポート インスタンスのすべてのアイテムをアップロード、更新、および削除できます。たとえば、Windows Azure ポータルでアクセスできないサブ フォルダー内のレポートを削除する場合は、次を使用できます。

reportingService.DeleteItem("Internal Reports/Report Category 1/Report1.rdl");

それは述べた。代わりに、レポート フォルダーを 2 レベルの階層にリファクタリングする方がはるかに簡単です。最終的に使用した命名規則は次のとおりです。

  • ルート レベル
    • 内部レポート - レポート カテゴリ 1
      • 情報源
      • Report1.rdl
      • Report2.rdl
    • 内部レポート - レポート カテゴリ 2
于 2013-07-19T10:32:01.533 に答える