我正在尝试运行一个可以连接到数据库并运行的报告。我已经在报表中创建的数据源中添加了多个数据集。我试图在WebApi内以编程方式运行此程序并返回PDF。提交报告时,出现错误消息:
ReportProcessingException:植物
植物是报表中我的数据集名称之一,所以我去了植物中的查询,并在Sql Server Management Studio中运行了它,没有任何错误。
接下来,我决定查看报告上的XML,它看起来像这样:
<DataSources>
<DataSource Name="DataSource1">
<ConnectionProperties>
<DataProvider>SQL</DataProvider>
<ConnectString>Data Source=.\SomeInstance;Initial Catalog=SomeDataBaseName</ConnectString>
<Prompt>Specify a user name and password for data source DataSource1.</Prompt>
</ConnectionProperties>
<rd:DataSourceID>f4a33a86-c8f5-4fef-8e92-903b536c45dc</rd:DataSourceID>
<rd:SecurityType>DataBase</rd:SecurityType>
</DataSource>
</DataSources>
而且我注意到该数据库没有任何凭据。
我还注意到,每次关闭,重新打开并运行报告时,它都会要求提供数据库凭据。
所以我决定尝试在连接字符串中添加凭据,例如:
<ConnectString>Data Source=.\SomeInstance;Initial Catalog=SomeDataBaseName;User Id=SomeUser;Password=SomePassword</ConnectString>
得出与以前相同的结果。
因此,我决定只删除其中一个数据集,然后查看是否可行,仅余下的数据集出现相同的错误。
如何获取报告以连接到数据库并使用LocalReport而不是ServerReport运行?