再说问题之前首先要介绍一下不同版本的jdbc驱动的区别:
classes12.jar,ojdbc14.jar,ojdbc5.jar,ojdbc6.jar和ojdbc7.jar的区别和差异:
classes111.jar 适用于JDK 1.1.x
classes12.jar 适用于JDK 1.2 and JDK 1.3
ojdbc14.jar 适用于JDK 1.4(我的项目环境JDK1.6,oracle 11g,windows,用了这个目前没发现问题,当然JDK1.7,oracle 11g,windows也没有问题)
ojdbc5.jar: 适用于jdk5
ojdbc6.jar: 适用于jdk6 (如果你使用jdk1.5,就不能使用这个驱动)
ojdbc7.jar: 适用于jdk7
***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样
经过研究得出一下结论:
如果出现 No suitable driver found for jdbc:oracle:thin:@//localhost:1521/orcl 的问题,
那么便是JDK版本,JDBC版本,以及数据库版本不一致导致的错误。
如果你的工程使用的JDK1.6,而你却使用的其他JDBC版本,(首先要保证自己的数据库支持相应的JDBC版本,然后根据数据库支持的
JDBC版本,然后确定要使用的JDK版本,只有三者一致了,我们才可以保证连接的正确性。)
如果一个jdbc的jar包你不知道是那个版本的,可以解压这个jar包,再在META-INF\MANIFEST.MF 文件中
找到 "Oracle JDBC Driver version - 10.1.0.2.0"字样,就知道版本了。
最后注意:一般数据库对JDBC向下兼容,所以关键就看JDK版本和JDBC驱动版本是否一致了,如下图: