java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver解决办法

       重新装了oracle9i,想试试java采用jdbc方式连接Oracle数据库,但一直报错:java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver。在Error里查看错误原因:Archive for required library: 'C:/MyEclipse 10/TEST1/src/ojdbc6.jar' in project 'TEST1' cannot be read or is not a valid ZIP file。首先就去百度查看了一堆答案:1、在环境变量里的classpath里把ojdbc6.jar包目录添加进去,结果无效!然后怀疑jar包版本出问题了,就又重新去下载了classes12.jar,ojdbc14.jar。通过Build path--->Configure Build Path--->Libraries---->Add External JARs将这几个包导入进项目,依旧是相同的错误。最后查看错误: cannot be read or is not a valid ZIP file,怀疑是jar包本身出了问题,于是又换链接多次下载这几个jar包依旧不行,最后折腾到晚上下载了一个压缩包,解压以后导入项目,成功连上数据库!!!

总结:导入jar包的时候尽量下载jar包对应的压缩包,别直接下载jar包,因为在直接下载jar包的时候有可能因为各种原因导致jar包本身丢失文件,而下载jar包对应的压缩包就能避免这种现象发生。

附:

jdbc连接数据库:

import java.sql.*;
public class Test {
	public static void main(String[] args) {
		Connection ct=null;
		Statement sm=null;
		ResultSet rs=null;
		try{
			Class.forName("oracle.jdbc.driver.OracleDriver");
			ct=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORA","scott","tiger");
			sm=ct.createStatement();
			rs=sm.executeQuery("select * from emp");
			while(rs.next()){
				System.out.println("用户名为:"+rs.getString(2));
			}
		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			try{
				rs.close();
				sm.close();
				ct.close();
			}
			catch(Exception e1){
				e1.printStackTrace();
			}
			finally{
			}
			
		}
	}
}
jar包版本选择:
Oracle  版本jdk版本推荐jar包备注
Oracle 8iJDK 1.1.xclasses111.zip 
Oracle 8iJDK 1.1.xclasses12.zip这个版本是有classes12.jar的,可以尝试下载
Oracle 9iJDK 1.1.xclasses111.jar 或者 classes111.zip 
Oracle 9iJDK 1.2 and JDK 1.3classes12.jar 或者 classes12.zip 
Oracle 9iJDK 1.4ojdbc14.jar  
Oracle 9iJDK 1.5ojdbc5.jar这个jar包我不确定网上有
Oracle 9iJDK 1.6ojdbc6.jar 
Oracle 10gJDK 1.2 and JDK 1.3.  classes12.jar  
Oracle 10gJDK 1.4 and 5.0ojdbc14.jar   
Oracle 11gjdk5ojdbc5.jar 
Oracle 11gjdk6ojdbc6.jar



欢迎关注行者摩罗微信公众号(xingzhemoluo),共同交流编程经验,扫描下方二维码即可;


版权声明:本文为xingzhemoluo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。