我相信已经提出了这些问题的不同风格,但我想再次确认这一点,因为我们非常接近我们的发布并希望与社区进行验证
我们用ojdbc14.jar已经使用Oracle10g和java 1.5已经有一段时间了。我知道ojbc14.jar适合java 1.4。但幸运的是,我们从未在使用1.5版本时看到任何问题。不转移到ojbc5的另一个原因是我们在安装的oracle 10g中没有看到ojdbc5.jar。
我们现在已将DB升级为11g,但我没有看到ojdbc14.jar。这是否意味着我们必须转移到ojdbc5.jar?
我们愿意做出改变。但是,当他们从ojdbc14.jar将JDBC驱动程序更改为ojdbc5.jar时,进行切换的人是否可以确认他们是否看到了任何问题
与此相关,如果有人能够详细说明这个罐子的dms味道以及如何使用它将会很好。
答案 0 :(得分:14)
看看Oracle's JDBC drivers list。对于11g和11g2,仅列出ojdbc5.jar
和ojdbc6.jar
。这可能意味着只有正式支持它们,所以如果您遇到ojdbc14.jar
问题,Oracle可能无法帮助您。
如果Oracle的支持对您的管理很重要,我建议您升级到ojdbc5.jar
。
答案 1 :(得分:13)
ojbc14
应该可以正常使用Oracle11g。 ojbc14
和更高版本之间的主要区别是更高版本支持更新版本的JDBC API,以及更新版本的oracle的新功能。
如果您的应用程序与ojbc14
原样相处,则没有理由升级驱动程序,除了在它们出现时尝试跟踪新修订版总是一个好主意,以保持您的系统电流。
答案 2 :(得分:2)
默认情况下,11.1驱动程序在从数据库读取时将SQL DATE转换为Timestamp。这总是正确的做法,9i的变化是一个错误。 11.1驱动程序已恢复正常行为。即使您没有在应用程序中设置V8Compatible,在大多数情况下也不应该看到任何行为上的差异。如果使用getObject读取DATE列,您可能会注意到不同之处。结果将是时间戳而不是日期。由于Timestamp是Date的子类,因此这通常不是问题。您可能会注意到的区别在于,您是否依赖于从DATE到Date的转换来截断时间组件,或者您是否对值进行了toString。否则,改变应该是透明的。
如果由于某种原因,您的应用对此更改非常敏感,并且您只需要具有9i-10g行为,则可以设置连接属性。将mapDateToTimestamp设置为false,驱动程序将恢复为默认的9i-10g行为并将DATE映射到Date。