最近在项目中仅常遇到,在这家客户那里邮件发送没问题,可是跑到另外一家客户那里缺发不出去,觉得很奇怪,通过一番折腾之后,把问题落在了Oracle JDBC Driver上,因为在客户现场,用的oracle版本不统一,有些客户使用的是oracle9i,有些使用的是Oracle10g,但是项目中同意使用了ojdbc4.jar做为驱动,那当然就有问题了,以下列出在2个驱动之间的区别:
1.oracle10g中将中文字符解析为3个字节,oracle9i中保留为2个字节,在插入时常常会因为这个问题而造成数据插入失败、超常
2.在处理大字符集的时候,同样存在字符限制,class12只能支持到3000左右吧,ojdbc4可以支持到更长
以下内容为自我整理,尚未进行确认.
classes12.jar ( 存在路径 ora92\jdbc\lib 文件夹下 )
Manifest-Version: 1.0
Specification-Title: "Oracle JDBC driver classes for use with JDK1.2 and JDK1.3"
Specification-Version: "Oracle JDBC Driver version - 9.0.2.0.0"
Specification-Vendor: "Oracle Corporation" .
Implementation-Title: "classes12 archives"
Implementation-Version: "Oracle JDBC Driver version - 9.0.2.0.0"
Implementation-Vendor: "Oracle Corporation"
Implementation-Time: "Thu Apr 25 23:06:00 2002"
ojdbc14.jar ( 存在路径 ora92\jdbc\lib 文件夹下 )
Specification-Title: "Oracle JDBC driver classes for use with JDK1.4"
Specification-Version: "Oracle JDBC Driver version - 9.0.2.0.0"
Specification-Vendor: "Oracle Corporation" .
Implementation-Title: "ojdbc14.jar"
Implementation-Version: "Oracle JDBC Driver version - 9.0.2.0.0"
Implementation-Vendor: "Oracle Corporation"
Implementation-Time: "Thu Apr 25 23:14:02 2002"
ojdbc5.jar
Manifest-Version: 1.0
Specification-Title: Oracle JDBC driver classes for use with JDK15
Sealed: true
Created-By: 1.5.0_11 (Sun Microsystems Inc.)
Main-Class: oracle.jdbc.OracleDriver
Implementation-Title: ojdbc5.jar
Specification-Vendor: Oracle Corporation
Specification-Version: Oracle JDBC Driver version - "11.1.0.6.0-Production+"
Implementation-Version: Oracle JDBC Driver version - "11.1.0.6.0-Production+"
Implementation-Vendor: Oracle Corporation
Implementation-Time: Tue Oct 30 03:27:57 2007
ojdbc6.jar
Manifest-Version: 1.0
Implementation-Vendor: Oracle Corporation
Implementation-Title: ojdbc6.jar
Implementation-Version: Oracle JDBC Driver version - "11.1.0.7.0-Production"
Implementation-Time: Thu Aug 28 17:39:02 2008
Specification-Vendor: Oracle Corporation
Sealed: true
Created-By: 1.6.0 (Sun Microsystems Inc.)
Specification-Title: Oracle JDBC driver classes for use with JDK6
Specification-Version: Oracle JDBC Driver version - "11.1.0.7.0-Production"
Main-Class: oracle.jdbc.OracleDriver