我正在创建一个 MVC 应用程序,它使用 Reporting Web 服务 (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% 确定,当我第一次实现它时,另一个流程曾经工作过。
我对为什么原始流程停止工作感到困惑。报表和数据源都上传到特定文件夹。
有人可以对此有所了解。原来的流程有意义吗?我的意思是它应该工作,还是我想象的东西?
btw,上传的数据源格式如下
<?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
创建报告和数据源的方法。
非常感谢任何帮助。