【问题标题】:Oracle JDBC Types Mapped to Java Object Types by getObject() - wrong document?通过 getObject() 映射到 Java 对象类型的 Oracle JDBC 类型 - 错误的文档?
【发布时间】:2013-01-13 19:50:24
【问题描述】:

这是文档链接:"Mapping SQL and Java Types"

让我们看看 8.9.3 映射到 Java 对象类型的 JDBC 类型 在行:TIMESTAMP - java.sql.Timestamp

但是当我在 TIMESTAMP 列上将 getObject() 与 oracle 数据库一起使用时,返回类型是 oracle.sql.TIMESTAMP,它不能转换为 java.sql.Timestamp

我知道我可以使用 getTimestamp() 但我需要 getObject() 来处理任何类型的结果集。

是文件错了还是我错了?

【问题讨论】:

标签: java oracle jdbc ojdbc


【解决方案1】:

文档正确,Oracle JDBC驱动有问题。

有两种可能的解决方案:

第一个,使用getObject:

oracle.sql.TIMESTAMP ts = (oracle.sql.TIMESTAMP) res.getObject("last_update");
agent.setLastUpdate(new Date(ts.dateValue().getTime()));

第二个是给你的应用添加一个VM参数:

-Doracle.jdbc.J2EE13Compliant=true

这将使驱动程序返回 java.sql.Timestamp 而不是 oracle.sql.TIMESTAMP

【讨论】:

    猜你喜欢
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多