【问题标题】:How To Save Credentials In SSRS Local Report如何在 SSRS 本地报告中保存凭据
【发布时间】:2020-07-29 14:20:57
【问题描述】:

我正在尝试运行一个可以连接到数据库并运行的报表。我已将多个数据集添加到我在报表中创建的数据源中。我正在尝试在 WebApi 内以编程方式运行它并返回 PDF。当我呈现报告时,我收到一条错误消息:

ReportProcessingException:植物

Plant 是我在报告中的 DataSet 名称之一,所以我去了 Plant 中的 Query 并在 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 运行?

【问题讨论】:

    标签: reporting-services rdlc


    【解决方案1】:

    您可以创建新的报告参数,例如,ConnectionString

    从代码调用报表时,将连接字符串传递给参数,或者直接在报表中设置参数的默认值。

    在报告中将此参数设置为DataSource连接字符串

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      相关资源
      最近更新 更多