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 8i JDK 1.1.x classes111.zip  
Oracle 8i JDK 1.1.x classes12.zip 这个版本是有classes12.jar的,可以尝试下载
Oracle 9i JDK 1.1.x classes111.jar 或者 classes111.zip  
Oracle 9i JDK 1.2 and JDK 1.3 classes12.jar 或者 classes12.zip  
Oracle 9i JDK 1.4 ojdbc14.jar   
Oracle 9i JDK 1.5 ojdbc5.jar 这个jar包我不确定网上有
Oracle 9i JDK 1.6 ojdbc6.jar  
Oracle 10g JDK 1.2 and JDK 1.3.   classes12.jar   
Oracle 10g JDK 1.4 and 5.0 ojdbc14.jar    
Oracle 11g jdk5 ojdbc5.jar  
Oracle 11g jdk6 ojdbc6.jar



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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值