【问题标题】:Validity period for SSRS reportsSSRS 报告的有效期
【发布时间】:2018-11-16 17:45:57
【问题描述】:

我们有 ssrs 2008 r2 rdls。我打开一个 SSRS 报告并在我的浏览器中保持打开状态超过 30 分钟。如果我现在通过操作或转到报告单击任何钻取。我不希望报告让我知道这些信息。它应该说明报告已过期。

是否已经有解决方案。未来版本的 SQL Server 是否有解决方案。

【问题讨论】:

  • 从您对首字母缩略词的使用和这个简短的解释中不清楚您正在尝试做什么,您尝试了什么,以及您得到了什么结果。花时间尽可能清楚地解释您的问题和结果,格式化文本以明确您在做什么。如果您无法提供minimal reproducible example,也许您需要在dba.stackexchange.com 上进行研究。
  • 问题的澄清应该在问题本身中。 Edit 问题,并在文本中明确说明您想要做什么,您使用minimal reproducible example 尝试了什么以及您得到了什么结果,包括任何错误消息。从您的 cmets 看来,这与编码无关,因此对于 Stack Overflow 而言,这可能是题外话。
  • @jdv - 如果报告已打开超过 30 分钟,OP 希望 SSRS 报告链接不起作用。如果您不了解产品,也许您不应该发表评论。大多数开发人员都知道 MCVE 很糟糕 - 大多数 stackoverflow 问题都没有。
  • @HannoverFist 您似乎是专家,那么您为什么要在评论中提出潜在的答案?或者,也许,您可以编辑问题以更清楚地说明此处实际询问的内容。无论哪种方式,cmets 都不是为了回答或抱怨。它们用于澄清和改进问答。

标签: sql-server reporting-services ssrs-2008


【解决方案1】:

在 SSRS 中没有内置的方法来本地执行此操作。

我之前没有听说有人问过这样的要求,所以我怀疑是否已经有一些东西可以添加。

我对 JavaScript 的了解还不够,无法知道您是否可以将逻辑添加到 JavaScript URL,以便创建空白链接或指向页面过期页面的链接。

="javascript:void(window.open('https://na5.salesforce.com/','_blank'))"

【讨论】:

    【解决方案2】:

    您可以在主报表上创建一个隐藏的日期时间参数并将其默认值设置为当前时间:=Now()。我们称这个参数为@MainReportRuntime

    在您的子报表上创建相同的隐藏参数并将@MainReportRuntime 传递给子报表。

    修改子报表的SQL,只在日期在主报表运行时间的半小时内返回数据,并在大于半小时时添加报表过期消息:

    SELECT SomeField
    FROM SomeTable
    WHERE @MainReportRuntime >= DateAdd(mi, -30, Current_Timestamp) 
    UNION ALL 
    SELECT 'Report has expired - please rerun report to get current data'
    WHERE @MainReportRuntime < DateAdd(mi, -30, Current_Timestamp)  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2019-03-10
      • 1970-01-01
      • 1970-01-01
      • 2022-08-06
      • 1970-01-01
      相关资源
      最近更新 更多