【问题标题】:oracle 12c forms taking timezone -5:30oracle 12c 形成时区 -5:30
【发布时间】:2018-10-29 19:41:07
【问题描述】:

我的 Windows 服务器上安装了 oracle 12c WebLogic 和 Oracle 12c 数据库。 在我的数据库上,dbtimezone 给了我我想要的 +00:00,但是在我的表单构建器上,当我运行表单时它需要 -5:50 时间。

例如,如果我在 DateTime 字段中输入 16:30 时间,然后在表单字段中它会自动使用 10:00,这意味着它正在转换为 -5:30。

和之前一样,我的数据库时区也是 -5:30 但后来我将时区更改为 +00:00 所以数据库时区显示正确,但 oracle 表单时区仍然不正确。

任何帮助将不胜感激。

【问题讨论】:

  • 你服务器的timezone settings是什么?
  • 我的服务器时区设置是 (UTC +5:30) 印度时区。
  • 好的,谢谢您的检查。现在请在您的 WebLogic 服务器中运行这个简单的程序,并从日志中检索它的输出:TimeZone tz = TimeZone.getDefault(); System.out.println( String.format("Time zone=%s, raw offset = %s, daylight savings = %s ", tz.getDisplayName(), tz.getRawOffset(), tz.useDaylightTime() )); 这将告诉您服务器上配置了哪些时区设置(jdbc 驱动程序从服务器的 JVM 借用这些设置)。
  • DBTIMEZONE 与任何显示值都不相关,它只是TIMESTAMP WITH LOCAL TIME ZONE 数据类型的内部时区,请参阅stackoverflow.com/questions/29271224/…
  • Oracle 表单运行时发生的问题,因为它将 DateTime 字段转换为时区 -5:30,就像我输入 16:00 一样,一旦我转到下一个字段,它就会变为10:30 时间。这个问题出现在 oracle 形式 12c 中。

标签: oracle oracle12c weblogic12c oracleforms


【解决方案1】:

您需要在表单环境文件中添加以下行:

FORMS_DATETIME_LOCAL_TZ=GMT

【讨论】:

    【解决方案2】:

    在注册表中为 Oracle DB 和 Oracle 表单服务添加 NLS_DATE_FORMAT=DD-MM-YYYY 并更改 dbtimezone 对我有用。

    为了更改 dbtimezone,我参考了 this link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-24
      • 2016-12-14
      • 2020-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      相关资源
      最近更新 更多