首页 > 解决方案 > JDV 中的一些日期值按天计算

问题描述

在 VBD 中查询源模型时,源数据库是 Informix 11,日期列的值有时会作为前一天返回。例如,Informix 中的实际值为 Oct 10,但查询 JDV 源模型时显示的值为 Oct 9。查询 Informix 直接返回正确的日期。我在 Windows 10 上使用 JDV 6.4.0 和 JDK 1.8.0_162 (x64)。

有任何想法吗?提前致谢!

标签: redhat-datavirt

解决方案


要详细说明 Ramesh 所说的内容,您需要检查客户端和服务器 jvm 时区。JDV 将尝试在数据库、服务器和客户端之间保持日期/时间日历字段的一致性。如果 Teiid 客户端与服务器处于不同的时区,客户端将自动更改日期/时间值的 UTC 值,以便它们与服务器显示的内容相匹配 - 这由服务器时区确定。

当从数据库中检索时间戳值时,我们假设它已经被驱动程序调整以考虑任何时区差异。如果不是这种情况,则有一个名为 DatabaseTimeZone 的转换器执行属性,它将利用基于 JDBC 日历的方法来调整检索到的日期/时间值。

一个常见问题是夏令时不匹配 - 通常最好将 JDV 服务器置于标准时区。


推荐阅读