これは、私たちの環境で行ったことです。独自の構成を持つ任意のクライアントに展開できる1セットのレポートを維持しています。
ここにはいくつかのオプションがあります。共有データソースを使用しているため、レポートごとにデータソースを定義する必要がないため、作業が簡単になります。
1.rs.exeユーティリティとスクリプトファイルを使用します
BooksOnlineのrs.exe
このプログラムを使用すると、レポートサーバーWebサービスと対話できるスクリプトファイル(VB.NET内)を作成できます。スクリプトファイル(Deploy.rssなど)を作成し、定義したカスタムパラメータを含むさまざまなパラメータを使用してrs.exeプログラムを呼び出します。
rs.exe -i DeployReports.rss -s http://server/ReportServer -v DatabaseInstance="SQL" -v DatabaseName="ReportDB" -v ReportFolder="ClientReports"
したがって、これはスクリプトDeployReports.rssを呼び出し、に接続しhttp://server/ReportServer
、データソースとレポートフォルダーの作成に使用できる3つのユーザー定義パラメーターを使用します。
sciptファイルには、次のようなものがあります。
Public Sub Main()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
CreateFolder(reportFolder, "Report folder")
CreateFolder(datasourceFolder, "Data source folder")
CreateDataSource()
End Sub
次に、次のようなWebサービス呼び出しを行うことができます。
rs.CreateFolder(folderName, "/", Nothing)
'Define the data source definition.
Dim definition As New DataSourceDefinition()
definition.CredentialRetrieval = CredentialRetrievalEnum.Integrated
definition.ConnectString = "data source=" + DatabaseInstance + ";initial catalog=" + DatabaseName
definition.Enabled = True
definition.EnabledSpecified = True
definition.Extension = "SQL"
definition.ImpersonateUser = False
definition.ImpersonateUserSpecified = True
'Use the default prompt string.
definition.Prompt = Nothing
definition.WindowsCredentials = False
Try
rs.CreateDataSource(datasource, datasourcePath, False, definition, Nothing)
Console.WriteLine("Data source {0} created successfully", datasource)
Catch e As Exception
Console.WriteLine(e.Message)
End Try
使用しているReportingServicesのバージョンを指定していないため、2008年を想定しています。SQLServerのバージョンによっては、使用できるエンドポイントが複数あることに注意してください。2005/2008エンドポイントは2008R2以降で非推奨になりましたが、引き続き使用できます。スクリプトを作成するときに覚えておくべきことです。
2.アプリケーションを介してSSRSWebサービスを呼び出します
レポートサーバーWebサービスの概要
上記のスクリプトから行われるのと同じ呼び出しは、他のアプリケーションでも行うことができます。したがって、WSDLを介してレポートサーバーWebサービスへの参照を追加するだけで、リモートサービスに接続し、そのメソッドを呼び出してレポートやデータソースなどを展開できます。
したがって、最終的にはレポートサーバーWebサービスに接続することになります。これは、使用するメディアだけを考慮する必要があります。
スクリプトを使用すると、コマンドラインからプログラムを実行するだけなので実行が簡単になりますが、独自のデプロイメントアプリケーションを作成すると、確実に柔軟性が高まります。スクリプトを実行することをお勧めします。そうすれば、プロセスを理解し、必要に応じてこれを特注のアプリケーションに移行できます。幸運を!