【问题标题】:DBVisualizer displays null on date field holding '0001-01-01'DBVisualizer 在包含“0001-01-01”的日期字段上显示空值
【发布时间】:2021-01-28 03:12:34
【问题描述】:

我在 DbVis 中发出了一条 SQL 语句:

select vestdate, name from person where vestdate is not null

并且得到了许多结果,其中 DbVisualizer 将vestdate 显示为(null)

经过调查发现,vestdate 是'0001-01-01',所以查询正确返回了这些记录,但是 DbVisualizer 显示它们为(null)

我刚刚从 Windows 8 切换到 Windows 10。
它适用于 windows 8(显示 '0001-01-01'),但不适用于 windows 10(显示 null):

Product: DbVisualizer Pro 11.0.4 [Build #3103]
OS: Windows 8.1
OS Version: 6.3
OS Arch: amd64
Java Version: 1.8.0_252
Java VM: OpenJDK 64-Bit Server VM
Java Vendor: AdoptOpenJDK
Java Home: c:\program files\dbvisualizer\jre
DbVis Home: C:\Program Files\DbVisualizer
User Home: -------
PrefsDir: -------
SessionId: 55
BindDir: -------
Product: DbVisualizer Pro 11.0.5 [Build #3113]
OS: Windows 10
OS Version: 10.0
OS Arch: amd64
Java Version: 1.8.0_252
Java VM: OpenJDK 64-Bit Server VM
Java Vendor: AdoptOpenJDK
Java Home: c:\program files\dbvisualizer\jre
DbVis Home: C:\Program Files\DbVisualizer
User Home: -------
PrefsDir: -------
SessionId: 968
BindDir: -------

任何想法如何让程序向我显示真实值,而不是 null 的解释值?

【问题讨论】:

    标签: dbvisualizer


    【解决方案1】:

    IBM support document 中解释了该问题:

    问题

    尝试将日期值插入 1940 年之前或 2039 年之后的日期列中,将在相应的数据库表中将日期表示为 NULL。

    原因

    这是由 IBM i 数据库工具箱 J​​DBC 驱动程序的限制引起的,如相关链接中所述:

    Toolbox JDBC 驱动程序如何处理 1940 年之前(或 2039 年之后)的日期? IBM i 数据库支持多种日期格式。 Toolbox JDBC 驱动程序使用在 IBM i 系统上设置为默认值的日期格式。此默认值通常设置为“mdy”,仅支持 1940 到 2039 之间的日期。您可以通过在打开 JDBC 连接时指定“日期格式”属性来覆盖日期格式。最好的选择是“iso”,它支持完整的四位数日期。最简单的方法是在连接数据库时使用的 URL 末尾添加“;date format=iso”。

    解决问题

    将“;date format=iso”附加到适用数据库的主机连接属性 通过 Preferences-> EGL-> SQL Database Connections 将正确显示相应的日期,例如:

    1939-01-01.

    可以通过执行以下操作在 DBVisualizer 中修复该问题:

    1. 数据库 -> 编辑数据库连接...
    2. 选择属性选项卡
    3. 选择驱动程序属性
    4. 编辑参数date formattime formatiso
    5. 应用更改
    6. 断开并重新连接

    【讨论】:

      猜你喜欢
      • 2018-12-06
      • 2021-04-23
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多