【问题标题】:Can't edit old SSRS reports with Report Builder无法使用报表生成器编辑旧的 SSRS 报表
【发布时间】:2022-01-18 23:51:34
【问题描述】:

我在一份新工作中接管了报告创建/维护工作。我们使用的是 SQL Server 2012 和 SSRS 2012。当我尝试使用报表生成器编辑其中一个较旧的报表时,我发现我什至无法在不破坏报表的情况下向数据集中的某些代码添加注释。这个特定的报告有 14 个参数,我所要做的就是尝试向数据集添加注释行(不要介意更改代码),然后单击“确定”关闭数据集编辑它会显示此 DEFINE QUERY PARAMETERS 提示以验证参数。如果单击“确定”,则“报告数据”窗口中的数据集下方的所有字段都会消失,并且报告不起作用。
在不尝试应用任何编辑的情况下运行报告本身仍然可以正常工作,是编辑破坏了它。我可以编辑其他以前的报告,只是这个特定的报告显示了这种行为。

【问题讨论】:

  • 快速跟进,当我关闭数据集编辑窗口时,我已经看到我正在处理的其他报告在哪里显示了 DEFINE QUERY PARAMETERS 对话框,但之后总是出现一条消息表示代码有错误。这是我第一次看到 PARAMETERS 屏幕,但没有任何编码错误的迹象,只是数据集中的字段列表完全丢失。
  • 查看数据集属性并确保所有参数均已正确定义。通常,您只会看到提示,如果 a. a 参数值未定义或 b.当代码出现错误时。

标签: reporting-services ssrs-2012


【解决方案1】:

过了这么久终于想通了。该数据集的 SQL 至少有十几个 IF-THEN 语句分布在整个代码中,它们不断检查选定的某个输入参数。我终于将之前报告编写器的代码简化为一个大的 IF-THEN-ELSE 语句,现在可以在 Report Builder 和 Visual Studio 中毫无问题地编辑数据集。我猜微软的 SSRS 解析例程在 2018 年编写此报告(所有这些 IF-THEN 语句都没有问题)和 2020 年(当时解析失败但没有有用的错误消息)之间发生了一些变化。

【讨论】:

    猜你喜欢
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多