我正在维护一个连接到Java应用程序的Oracle 9数据库。
在查看weblogic配置时,我注意到数据源旁边设置了以下属性,但我不确定这些属性有什么影响。有谁知道下面设置的目的和效果?
oracle.jdbc.V8Compatible =真
oracle.jdbc.J2EE13Compliant =假
答案 0 :(得分:3)
oracle.jdbc.V8Compatible - 在8i之后,JDBC驱动程序开始为DATE类型列返回java.sql.Date类,为TIMESTAMP列返回java.sql.Timestamp类。这是有道理的,除了Oracle DATE列还包含时间信息,因此很多表设计都有DATE用于存储时间戳并且需要java.sql.Timestamp。通过设置该选项,您将获得DATE列的旧行为,从而创建java.sql.Timestamp。
oracle.jdbc.J2EE13Compliant - 这个我不确定。我发现一个引用说它打开了Java EE 1.3严格模式。究竟是什么意思我不确定。
答案 1 :(得分:1)
oracle.jdbc.J2EE13Compliant至少使ResultSet.getObject(...)返回时间戳数据库类型的java.sql.Timestamp,而不是proprtietary oracle.sql.TIMESTAMP。
https://docs.oracle.com/cd/B28359_01/java.111/b31224/datacc.htm