マルチテナント環境で SSRS を使用しようとしています。サポートしたい基本バージョンは SQL Server 2008 ですが、R2 が必要な場合はそれで問題ないかもしれません。
現在、ReportService2005SoapClient クラスを公開しているように見える ReportingService2005.asmx エンドポイントを使用しています (すべてのサンプルが ReportingService2005 クラスを示しているように見えますが)。
レポートを実行するときに、サーバーからそのレポートのコピーを作成し、埋め込みデータソースを追加し、データセットをそのデータソースにポイントしてからレポートを実行したいと考えています。
私は次のようになりました:
サーバーから RDL を取得する
XML を変更して DataSource を追加する
新しいデータソースを指すようにデータセットを指す
...しかし、「CreateReport」を実行しようとすると、次のエラーが発生します。
System.Web.Services.Protocols.SoapException: データセット 'DataSet1' は、存在しないデータ ソース "mydatasource_LOCAL" を参照しています。
Microsoft.ReportingServices.Library.ReportingService2005Impl.ExecuteBatch (Guid batchId)
で Microsoft.ReportingServices.WebServer.ReportingService2005.ExecuteBatch() で
データセットを RDL に追加しました。デザイナーで追加したときと同じように見えます。ただし、サーバーに何かを追加する必要があると思いますか? 私は何が欠けていますか?
(余談ですが、MS Dynamics が 1 つのインスタンスでマルチテナント SSRS を有効にしたことは知っていますが、彼らがどのようにそれを行ったのかについての情報はありません。彼らが共有するコードや何かがあれば、誰かが私にそれを指摘してくれるでしょう.)