日期:2014-05-18  浏览次数:20718 次

求助:jdbc连接oracle运行时弹出错误。
运行时弹出如下错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.oracldriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.sp.testora2.main(testora2.java:15)

有加载oracle驱动classes12.jar,运行时可是还报错。

package com.sp;
import java.sql.*;
//使用jdbc连接oracle
public class testora2 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

try { 

//1.加载驱动
Class.forName("oracle.jdbc.driver.oracldriver");

//2.得到连接
Connection ct=DriverManager.getConnection("jdbc:oracal:thin:@127.0.0.1:1521:ORCL","scott","123");


//采用Statement进行查询
Statement sm=ct.createStatement();

ResultSet rs=sm.executeQuery("select * from emp");

while(rs.next()){

//用户名
System.out.print("用户名 : "+rs.getString(2));
}
}catch (Exception e){
e.printStackTrace();
//TODO: handle exception
}

}

}


------解决方案--------------------
换ojdbc14.jar试试。那个错误是没有找到对应的类,应该是你jar包没导入正确。
------解决方案--------------------
jar包的问题,你看看你的包是不是导进去了,再看看你的那个jar包里面有没有这个类
------解决方案--------------------
你的驱动没有导入!从新导入一下!建议采用ojdbc14.jar
注意:拷贝的时候不要出现错误!
------解决方案--------------------
Class.forName("oracle.jdbc.driver.oracldriver");
Connection ct=DriverManager.getConnection("jdbc:oracal:thin:@127.0.0.1:1521:ORCL","scott","123");



楼主你认真看看。
正确应是:oracle
------解决方案--------------------
Class.forName("oracle.jdbc.driver.oracldriver");

这写错了。

改成:
Class.forName("oracle.jdbc.driver.oracledriver");
------解决方案--------------------
oracle.jdbc.driver.oracldriver
改成
oracle.jdbc.driver.OracleDriver