import   java.io.*; 
import   java.util.*; 
import   java.sql.*; 
public   class   TestOracle{ 
    Connection   conn   =null; public   static     ResultSet     rs; 
public   Connection   InitDb(){ 
try{ 
Class.forName("sun.oracle.jdbc.driver.OracleDriver").newInstance(); 
}   catch(ClassNotFoundException   e){ 
    e.printStackTrace(); 
}   catch(IllegalAccessException   ex){ 
}   catch(InstantiationException   ex){ 

try{ 
String   url="jdbc:Oracle:thin:@172.21.1.101:1521:xsnyb"; 
String   user   =   "xsnyb"; 
String   password   =   "pow"; 
this.conn   =   DriverManager.getConnection(url,user,password); 
}   catch(SQLException   e){ 
System.out.println(e.getMessage()); 

return   this.conn; 

public   static   void   main(String[]   args){ 
TestOracle   test   =   new   TestOracle(); 
try{ 
Connection   conn1   =   test.InitDb(); 
                PreparedStatement   stmt   =   conn1.prepareStatement("select   user_name,user_pswd   from   bas_users"); 
                ResultSet   rs   =   stmt.executeQuery(); 
while(rs.next()){ 
System.out.print(rs.getString("user_name")+"   "); 
System.out.println(rs.getString("user_pswd")); 
                } 
}   catch(Exception   e){ 
System.out.println(e.getMessage()); 
e.printStackTrace(); 
} } 
} 上面我写的java代码,本人在学java,想先测试一下连接oracle数据库,但运行时报错。错误信息为 
  No   suitable   driver 
  java.lang.NullPointerException 
            at   TestOracle.main 
class12.jar在C:\oracle\ora92\jdbc\lib 下,本人也将它加入ClassPath中,但还是报错。
直接写sql数据库的连接代码可以正确运行关返回结果 
求助各位解决 

解决方案 »

  1.   

    sun.oracle.jdbc.driver.OracleDriver这个是啥啊?我没见过哦!一般都是
    oracle.jdbc.OracleDriver
    或者
    oracle.jdbc.driver.OracleDriver你把你的那个 sun 去掉看看另: 你的JDK版本是多少? class12 是JDK1.3 的,如果你用的1.4/5.0/6.0 换另外一个驱动 ojdbc.jar
      

  2.   

    Class.forName("sun.oracle.jdbc.driver.OracleDriver").newInstance();  
    这行出问题,改为:
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();  
      

  3.   

    你用解压缩文件解压class12.jar,然后找到OracleDriver驱动程序的目录填入