レポートとデータ ソースをプログラムで管理するためのレポート Web サービス (2010) を使用する MVC アプリケーションを作成しています。
この機能を最初に実装した約 1 か月ほど前に、最初にレポート (.rdl ファイル) をアップロードし、後でそのデータ ソースをアップロードすることができました。その後、Web ページのレポート ビューアー コントロールを使用してレポートを表示できました。
しかし、1 週間ほど前から、このフローが壊れています。つまり、最初にレポートをアップロードしてからデータ ソースをアップロードすると、レポート ビューアー コントロールでレポートがレンダリングされません。次のエラーが発生します。
The report server cannot process the report or shared dataset.
The shared data source 'AW' for the report server or SharePoint site is not valid.
Browse to the server or site and select a shared data source.
データ ソースは、次のように rdl ファイルで定義されている共有データ ソースです。
<DataSources>
<DataSource Name="AW">
<DataSourceReference>AW</DataSourceReference>
</DataSource>
</DataSources>
フローを逆にすると、つまり、最初にデータ ソースをアップロードしてからレポートをアップロードすると、機能し始めます。しかし、100% 確信しています。他のフローは、最初に実装したときに機能していました。
なぜ元の流れが機能しなくなったのか、私は困惑しています。レポートとデータ ソースの両方が特定のフォルダーにアップロードされます。
誰かがこれに光を当ててください。本来の流れは理にかなっていますか?つまり、それはうまくいくはずですか、それとも私は何かを想像していましたか?
ところで、アップロードされたデータソースは次の形式です
<?xml version="1.0" encoding="utf-8"?>
<DataSourceDefinition xmlns="http://schemas.microsoft.com/sqlserver/reporting/2006/03/reportdatasource">
<Extension>SQLAZURE</Extension>
<ConnectString>Data Source=xxx;Initial Catalog=AdventureWorks2012</ConnectString>
<UseOriginalConnectString>false</UseOriginalConnectString>
<OriginalConnectStringExpressionBased>false</OriginalConnectStringExpressionBased>
<CredentialRetrieval>Store</CredentialRetrieval>
<WindowsCredentials>false</WindowsCredentials>
<ImpersonateUser>false</ImpersonateUser>
<UserName>user</UserName>
<Password>pass</Password>
<Enabled>True</Enabled>
</DataSourceDefinition>
ReportingService2010.CreateCatalogItem
レポートとデータ ソースの両方を作成する方法を使用します。
どんな助けでも大歓迎です。