您的位置:首页 > 数据库 > Oracle

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

2014-09-15 20:12 661 查看
重新装了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),共同交流编程经验,扫描下方二维码即可;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐