Я создаю приложение MVC, которое использует веб-службу отчетов (2010) для программного управления отчетами и источниками данных.
Примерно месяц назад, когда я впервые реализовал эту функцию, я смог сначала загрузить отчеты (файлы .rdl), а затем загрузить источник данных. Затем я смог просмотреть отчет, используя элемент управления просмотра отчетов на веб-странице.
Однако примерно через неделю этот поток прервался, т.е. если я сначала загружаю отчет, а затем источник данных, отчет не отображается в элементе управления средства просмотра отчетов. Выдает следующую ошибку.
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
для создания как отчета, так и источника данных.
Любая помощь высоко ценится.
rsDataSourceReferenceNotPublished
предупреждение. Повторяю, это предупреждение, а не ошибка. Так что по дизайну кажется, что это должно быть хорошо. Может быть, я пропустил шаг где-то. Но потом мне интересно, как и почему это работало раньше. - person Vishal Shah   schedule 16.09.2013