这篇文章与link类似
但我找不到答案。我正在从Oracle 11g迁移到Oracle 12c。我可以使用hibernate 3.3.0 org.hibernate.dialect.OracleDialect
提供的相同方言
另外我使用的是ojdbc14.jar,它是JDBC驱动程序版本10.2.0.3.0。根据Oracle,我需要使用至少ojdbc6.jar或最小JDBC驱动程序版本11.1.0.x.如果我使用ojdbc6.jar,那么我需要解决java.sql.date
和Timestamp
SQL类型的冲突;将Long类型更改为LOB类型。如果我错了,请纠正,让我知道其他我可能遗失的事情。
答案 0 :(得分:1)
请参阅此链接Differences between classes12.jar, ojdbc14.jar, ojdbc5.jar and ojdbc6.jar。驱动程序文件的名称与数据库驱动程序版本无关。它只是符合JDBC标准的版本。
所以ojdbc6.jar可以有10g,11g或12c的驱动程序版本。它甚至可以是Oracle支持提供的驱动程序,其中包含一个特定的修复程序。
由于某些版本(1.5)Oracle JDBC驱动程序是可执行的。您只需执行它们即可获得准确的版本:
java -jar ojdbc5.jar
Oracle 11.2.0.3.0 JDBC 3.0 compiled with JDK5 on Tue_Aug_23_13:32:03_PDT_2011
#Default Connection Properties Resource
#Wed Apr 06 12:37:06 CEST 2016
除非您仍在使用Java 1.4,否则不应使用ojdbc14.jar。
Oracle保证与主版本号不同的客户端兼容。在某些情况下,可以通过设置绕过 数据库服务器端的sqlnet.ora文件中的SQLNET.ALLOWED_LOGON_VERSION。
答案 1 :(得分:0)
有关JDBC驱动程序版本的更多详细信息,请参阅FAQ。建议的最佳实践是,JDBC驱动程序版本应始终与正在使用的Oracle数据库版本相同或更高,以便利用驱动程序的最新功能。