PowerShell を使用して、SQL Server 2008 で SQL Server Reporting Services の rdl ファイルをスクリプト化することはできますか? もしそうなら、誰かがこれを行うコード例を提供できますか? これは、サードパーティ ツールを使用して、ビジネス インテリジェンス部門以外のビジネス ユーザーが作成した RDL ファイルをスクリプト化する代わりに便利です。
「スクリプトアウト」という用語の明確化
「スクリプト出力」とは、サーバー上の各レポートの基になる RDL ファイルを自動的に生成したいという意味です。たとえば、BIDS でレポートをコーディングすると、RDL ファイルが生成されます。ファイルをサーバーに展開すると、ファイルは何らかの方法で SQL Server ReportServer データベースにインポートされ、別の物理 RDL ファイルではなくなります。サーバーからすべてのレポートを RDL ファイル形式で抽出したいと考えています。
RSScripter ツールを使用してレポートを RDL ファイルとして抽出したので、PowerShell 以外のツールを使用しても可能であることがわかっています。PowerShell を使用してそれが可能かどうかを具体的に知りたいです。可能であれば、それを行うためのコードのサンプルを入手してください。
レポートの RDL バージョンを生成する理由の明確化
レポートを RDL ファイルに「スクリプト化」することが重要なのはなぜですか? RDL ファイルをソース管理システムに 1 晩に 1 回チェックインして、ビジネス インテリジェンス部門以外のユーザーが作成したすべてのレポートを追跡したいと考えています。BIDS でレポートを作成して以来、私の部門で生成されたすべてのレポートを追跡していますが、オンラインのレポート ビルダー ツールで作成されたレポートのバージョン履歴を追跡できません。
他のものではなく PowerShell を使用する理由の明確化
好奇心。2 つの方法 (API または RSSCripter) のいずれかで解決できることがわかっている問題があり、3 番目の方法で解決できるかどうかを知りたいです。
PowerShell を介して問題解決ツールベットを拡張する機会。PowerShell を使用してこの問題を解決することは、PowerShell を使用して、まだ解決しようとしていない他の問題を解決する方法を学習するための基礎を提供する可能性があります。
PowerShell は、私のチームと私にとって理解しやすいものです。一般に、チーム メンバーと私は、.NET コードよりも PowerShell コードを簡単に理解できます。この問題は、API を使用した .NET コードで解決できることはわかっていますが (これが RSScripter の動作です)、PowerShell スクリプトをコーディングして維持する方が簡単だと思います。また、PowerShell スクリプトはおそらく .NET コードを使用することになると思いますが、PowerShell が何らかの方法でレポートをオブジェクトのように処理できるようになっていることを願っています。そのため、Reporting Services API を使用してファイルを抽出する必要はありません。
RSScripter はまだ 2008 をサポートしていません。以前は、RSScript を使用してレポートのスクリプトを作成していました。残念ながら、2008 にはまだ対応していないようです。これは、API に対してコードを記述しなければならないことを意味します。それが、自動化された無人の方法でファイルを抽出する方法を知っていることを示す唯一の方法だからです。