【问题标题】:SSRS 2012 to SSRS 2016 causing reports to show different NLS parameters (Oracle 12c (12.1.0.2.0) )SSRS 2012 到 SSRS 2016 导致报告显示不同的 NLS 参数 (Oracle 12c (12.1.0.2.0) )
【发布时间】:2020-07-30 17:45:42
【问题描述】:

我们最近将 SSRS 从 2012 年更新到 2016 年 - 一旦我们更新了服务器并安装了 ODAC,我们注意到报告的 NLS 设置发生了变化(例如,如果我们在本地运行 SELECT * FROM V$NLS_PARAMETERS,则 NLS 设置默认为英国,但是当我们通过默认为美国的报告运行此报告)。

此问题导致日期参数 (TO_CHAR(DATE,'D')) 和日期参数 ('DD/MM/YYYY') 中断。

任何建议将不胜感激。

谢谢

【问题讨论】:

    标签: sql oracle reporting-services ssrs-2016 nls-lang


    【解决方案1】:

    始终检查 nls_session_parameters,因为这将是数据库最终使用的参数。

      select * from nls_session_parameters;
    

    并使用例如 ALTER SESSION 将参数与 REPORT 匹配,反之亦然

     ALTER SESSION SET NLS_DATE_FORMAT='DD/MM/YYYY'
    

    【讨论】:

    • 谢谢 - 我认为每个报告都需要单独填写?您是否碰巧知道在报告之外控制它的任何方法(例如,在 SSRS 2012 中它只是默认为 UK NLS LANG)?理想情况下,我们希望避免查看每个带有日期或货币的报告(尽管如果我们别无选择,我们只能管理)。
    • 只需检查 nls_database_parameters 并尝试在报表服务器中设置 NLS_LANG 并重新查询 select * from nls_session_parameters;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多