【问题标题】:Is it necessary to build/compile SSRS reports?是否有必要构建/编译 SSRS 报告?
【发布时间】:2015-10-08 02:11:53
【问题描述】:

我们有 SSRS 的 2008 R2 本机安装。我通常在一个大型的 Visual Studio 报表服务器项目中开发报表,并通过 SSRS 网站的前端手动上传 .rdl 文件。但是,我注意到您可以构建 .rdl 文件的调试/发布版本。到目前为止,我注意到的唯一区别是编译后的 .rdl 比“原始”.rdl 大 2KB - 没有注意到性能提升,等等。

有人知道使用原始 .rdl 和编译后的 .rdl 之间的区别吗?

【问题讨论】:

  • 除了从 Visual Studio 发布报告外,DevOps 中是否有任何 CI/CD 流程来部署 SSRS 项目?如果那么 DevOps 中的任务名称和作业名称是什么?谢谢

标签: reporting-services rdl


【解决方案1】:

Visual Studio 中没有原始与编译的 rdl。

混淆来自 Visual Studio 中的其他项目类型,因为每个 .NET 开发人员都知道,无论是否使用“优化代码”复选框进行编译,dll/exe 之间存在差异。

即使 SSRS 文档中存在术语“构建”,也更容易认为没有构建 RDL 报告(至少不是在部署之前),因为构建报告与构建 .NET 完全不同应用。

报告在发布之前构建以确保只有 有效的报表定义发布到报表服务器。项目 配置包括用于构建报告的属性,例如 临时存储构建报告的文件夹,以及如何 处理构建问题。配置还具有您可以使用的属性 用于指定报表服务器的位置和版本, 报表服务器上的文件夹。

来源:Publishing Reports to a Report Server

在这里,built 应被视为有效性检查。
EDIT 2017-10-25:但不仅如此,请参阅下面来自 Michael 的 comment伊甸园。

报告何时编制?

当您查看报告时。

报告处理阶段

当您创建报告时,您定义了一个报告定义文件 (.rdl) 以 XML 格式。该文件包含所有需要的信息 由报表处理器组合报表数据和报表布局。什么时候 您查看报告时,报告将通过以下阶段进行:

  • 编译。评估报表定义中的表达式并将编译的中间格式存储在报表服务器内部。

  • 处理。运行数据集查询,并将中间格式与数据和布局相结合。

  • 渲染。 将处理后的报告发送到渲染扩展插件以确定每个页面上适合多少信息并创建分页 报告。

  • 导出(可选)。将报告导出为其他文件格式。

来源:Reporting Services Reports (SSRS)

这是一个显示报告处理概述的图表:

编译报告和中间报告格式

使用评估表达式、参数和参数属性评估的报告。

来源:Reporting Services Concepts (SSRS)

调试/发布配置用于什么?

在解决方案/项目配置中,您可以存储部署设置,例如目标服务器 URL、报告路径等。
您可以使用标准的,例如使用 Debug 将报告发布到测试 SSRS 服务器,并使用 Release 将报告发布到生产 SSRS 服务器。

SQL Server Data Tools (SSDT) 为以下项目提供项目配置 管理报告发布。配置指定位置 报表服务器的版本,SQL Server Reporting Services 的版本 安装在报表服务器上,数据源是否发布到 报表服务器被覆盖等等。除了使用 SQL Server Data Tools (SSDT) 提供的配置,您可以 创建其他配置。

【讨论】:

  • “报告在发布之前构建,以确保只有有效的报告定义发布到报告服务器”在这种情况下,比“构建”更好的动词是“lint”。跨度>
  • 同意,这段文字引用自文章的“2年前版本”,现在完整的句子已被删除。
  • 这不仅仅是一个有效性检查。始终为与 SSDT 安装匹配的 SQL Server 版本生成 RDL 的“源”版本。为项目属性中的 SQL Server 版本生成 RDL 的“构建”版本。如果需要,“构建”一个 SSRS 项目执行 XML 转换以降级 RDL。如果您的目标是以前版本的 SQL,则无法上传“源”RDL。
  • 真的,谢谢您的评论!这是我在回答中没有涵盖的内容。
  • 如果 SSRS 中没有 BUILD 之类的东西,为什么 (F) 是我愚蠢的 Visual Studio 在我的解决方案中“构建”所有报告而不让我预览到期到构建错误。同样的解决方案在周五运行良好 - 我每天都越来越讨厌 MS。
【解决方案2】:

是的,因为如果你不这样做,当你的开发环境比你生锈的旧 SSRS 服务器更新时,你会遇到问题。

SSRS 2014 report deploy issue

bin 文件夹副本降级为一种模式,以匹配项目属性中指定的模式。

这完全是疯了,因为它真的不应该一开始就不升级报告,但期待 SSRS 做任何明智的事情就像期待猪会飞一样。

损失时间:~1 周。我也曾经从源文件夹部署过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多