使用共享数据源动态生成和部署报告

2024-05-23

我正在为 SSRS 2008 动态生成 RDL 文件,从“构建块”中组装我的报告,我将其定义为报告服务器上的报告,并将其用作生成的报告上的子报告。

在我的报表服务器上,我有一个共享数据源,只要我直接在报表服务器上运行内容,该数据源就可以工作。

我想要实现的是:

  • 我生成的主报告应引用该共享数据源
  • 生成的主报告中包含的子报告也应使用相同的数据源
  • 使用 Web 服务接口将报表部署到报表服务器后,我希望能够立即实际看到报表

现在,我可以很好地生成和验证我的 RDL,也可以很好地将其部署到报表服务器 - 它显示出来了,一切都很棒。

但是当我尝试查看报告时,我收到一条错误消息,指出我的数据源无效或已被删除或其他......

我缺少什么?我非常确定我有正确的数据源 - 它和所有数据的 GUID - 并且名称确实匹配。如何告诉生成的 RDL 使用服务器上已有的共享数据源?


在这里回答我自己的问题,希望其他人可能会发现这很有用:

我的(错误)印象是,为服务器上的数据源提供的唯一“DataSourceID”足以唯一地标识它。

所以在我生成的 RDL 中,我有类似的内容:

  <DataSources>
    <DataSource Name="MyDataSource">
      <Transaction>true</Transaction>
      <DataSourceReference>MyDataSource</DataSourceReference>
      <rd:DataSourceID>6ba7c588-e270-4de9-988c-d2af024f10e1</rd:DataSourceID>
      <rd:SecurityType>None</rd:SecurityType>
    </DataSource>
  </DataSources>

现在,当我的数据源确实称为“MyDataSource”并且位于与我通过 RS WebService API 发布的报告位于同一目录中时,这曾经有效过。

一旦我将数据源移到其他地方,它就停止工作。

解决方案:
这可能听起来很愚蠢,但一开始我真的没有“明白”:DataSourceReference需要在报告服务器上拥有到我想要引用的数据源的完整且完整的“路径”。仅指定唯一 ID 是不行的......

因此,一旦我将 RDL 更改为:

  <DataSources>
    <DataSource Name="MyDataSource">
      <Transaction>true</Transaction>
      <DataSourceReference>/MyProject/DataSources/MyDataSource</DataSourceReference>
      <rd:DataSourceID>6ba7c588-e270-4de9-988c-d2af024f10e1</rd:DataSourceID>
      <rd:SecurityType>None</rd:SecurityType>
    </DataSource>
  </DataSources>

(注意<DataSourceReference>/MyProject/DataSources/MyDataSource</DataSourceReference>)

从那一刻起,它就像一种魅力。

希望有一天有人会发现这很有用!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用共享数据源动态生成和部署报告 的相关文章

  • SSRS-SSRS2008R2 中目标服务器 URL 的语法是什么

    谁能帮助我了解 SSRS 2008R2 中目标服务器 URL 的语法和示例 以便部署我的报告 您要部署到共享点还是独立 本机模式 报表服务器 http msdn microsoft com en us library ms155802 v
  • ssrs 报告中的格式编号

    argh 受不了我自己也想不通 我在报告中的数字格式中使用了它 0 00 0 00 格式为 1 212 89 这不完全是我想要的 因为我想要 1 212 89 无论服务器的区域设置如何 所以我尝试了这个 0 00 0 00 但这给了我这个
  • SSRS - 如何对 LookUpSet 表达式上的值求和

    您好 我有一列使用查找集表达式 Join LookupSet Fields ReportUNC Value Fields ReportUNC Value Format Fields cntSelfService Value 0 Execut
  • T-sql:获取列的总和

    我有一张如下所示的表 W1 W2 w3 Gold 10 2 3 Silver 3 1 1 但我需要一个结果 W1 W2 w3 Gold 10 12 15 Silver 3 4 5 有什么方法可以得到这个结果吗 Mysql查询 SELECT
  • ASP .Net 报表查看器控件中的本地报表与服务器报表

    在我们当前工作的 ASP Net 站点之一中 我们有大量 SSRS 报告 我们对该站点进行了表单身份验证 并且已在报表服务器中创建并部署了报表 当我们设置报表查看器控件来访问服务器报表时 我们遇到了很多身份验证问题 我只是想知道使用本地报告
  • 使用 Reporting Services 将组保持在一页上

    我使用 Reporting Services 创建了一个报表作为 C 应用程序的一部分 但我找不到一些我习惯在其他环境中看到的功能 我相信 MS Access 和 Crystal 报表都有一个名为 保持在一起 的选项 这样您就可以将特定的数
  • SSRS - 在特定组后添加分页符 - SQL Server 2008 R2

    有没有办法在第 n 组之后添加分页符 我有一个有两列的表 并按州分组 State Name MA Sarah Bob NY Jane TX Klein 我希望第三组 TX 有自己的页面 如何在特定组后添加分页符 由于您使用的是 2008R2
  • 使用表达式动态决定打开哪个子报表

    我有一份报告 其中包含几页带有图表 表格等的内容 该报告由总是希望对报告进行小修改的不同客户使用 目前 如果客户想要对第 5 页进行更改 则会通过修改重新创建整个报告 即使唯一的更改是在第 5 页的图表中 更重要的是 一些客户不想看到第 3
  • 根据 SSRS 矩阵中的总列计算总列的百分比

    希望在我的 SSRS 矩阵中添加一列 这将为我提供该行中总列的百分比 我正在使用以下表达式 但百分比始终为 100 我假设这是因为总计是最后评估的 所以它只是执行总计 总计 FORMAT Fields ID Value SUM Fields
  • 使用共享数据源动态生成和部署报告

    我正在为 SSRS 2008 动态生成 RDL 文件 从 构建块 中组装我的报告 我将其定义为报告服务器上的报告 并将其用作生成的报告上的子报告 在我的报表服务器上 我有一个共享数据源 只要我直接在报表服务器上运行内容 该数据源就可以工作
  • SSRS ReportViewer 与 XML 嵌入数据源相关的问题

    我有 C WPF 应用程序 我想在 ReportViewer 控件中显示 SSRS 报告 本地报告文件中嵌入了 XML 数据源 从 SQL Server Business Intelligence Development Studio 运行
  • 如果添加了工具箱中的参数,Microsoft 报表查看器定义从 2008 年更改为 2016 年

    我有vs2017 我同事有vs2015 他通过 vs studio 安装程序安装了报告查看器 当他创建新的报告 rdlc 文件时 我们正在处理同一个项目 他的报告架构定义网址如下
  • 报告服务报告超时

    我们有一份 2005 年的报告 可能有 2 到 250 页左右 平均约为 10 页 在开发报告时 我们的开发人员被告知 10 页左右是正确的数字 而且在不了解业务领域的情况下他认为报告服务是正确的方法 现在报告已部署到 PROD 我们收到了
  • 为 SSRS 报表服务器中的所有报表启用缓存

    我在 SSRS 报表服务器中有超过 100 个报表 我需要为所有这些启用缓存 现在 我通过报表管理器为每个报表启用缓存 我们可以在任何报表服务器配置文件中添加缓存吗 这样我们就可以在一个地方启用所有报告的缓存 任何帮助将不胜感激 谢谢 阿杰
  • 使用 PDFSharp 合并多个 PDF

    我正在尝试将多个 PDF 合并为一个 PDF PDF 来自 SSRS 来自我处理的一些 LocalReports 我正在使用 PDFSharp 因为它已经在整个项目中使用 但是 那outputDocument addPage page 方法
  • SSRS 报告 - IIF 声明问题

    做一个表达式时出现错误 有人可以在这里告诉我正确的语法吗 IIf Fields t cpcp Value 310 Purchased Material Raw Material Nothing IIf Fields t cpcp Value
  • 在 SSRS 中计算已过滤 Tablix 的行数

    我想在 SSRS 报告标题内的文本框中显示已过滤 Tablix 的行数 我用谷歌搜索了很多 但没有任何帮助 建议于这个链接 http social msdn microsoft com Forums is sqlreportingservi
  • 重复表顶部的行组作为 SSRS 中每个组之间的表标题

    我有一张表格 显示世界上所有国家 地区所有城市的人口和其他详细信息 我已成功在 SSRS 中创建此表 其中 国家 地区 列作为行组 现在 我不想让国家 地区名称占据第一列 而是希望将此信息作为表格标题 标题向上移动 以便有更多空间在表格右侧
  • 尝试从 Web 应用程序访问报告服务时,Internet Explorer 导致 IIS 500 错误

    我有一个 aspx Web 表单页面 它调用托管在 SQL 2012 报告服务服务器上的 SQL 2012 SSRS 报表 并使用报表查看器在 aspx 页面上显示报表 问题是当我单击链接将参数发送到报告服务器并运行报告时 页面挂起 仅在
  • 如何在 Visual Studio 2008 中设置 SSRS ConsumeContainerWhitespace 属性?

    我正在尝试设置ConsumeContainerWhitespace使用 Visual Studio 2008 中的报表设计器 但我在 GUI 中找不到该属性 由于我找不到它 我想知道这是否是 VS 2010 的新功能 是否可以在 VS 20

随机推荐