借此宝地,提一问题:同一数据库连接程序在jb中运行正常,在jdk中出现这样的错误:
java.sql.SQLException: Cannot load connection class because of underlying exce
ion: 'java.lang.SecurityException: Prohibited package name: java.sql'.
java.lang.NullPointerException
我已重装了jdk,重配了环境变量,结果还是不行了,快崩溃了

解决方案 »

  1.   

    好象是java.sql.*的问题.没import 吧
      

  2.   

    to:xiaowenand(与你有缘) 
    我觉得程序绝对没问题,因为同一个程序在jb中运行良好,一改用命令行方式运行,就出现上述异常,渴望你的解答!
      

  3.   

    你用数据库驱动是mysql的驱动,你得把这个包设置到系统的classpath里,org.gjt.mm.mysql.Driver是你用的驱动,你看看你的classpath里设置的包包含这个类了没有。命令行方式与JB管理classpath是不一样的,JB要求你把所需要的包加到工程里,命令行方式要求你再系统变量里设置。
      

  4.   

    楼上的兄弟,系统的classpath环境变量已经设置过,也把jdbc连接驱动(.jar)文件拷到了java安装目录下的jre\lib\ext下了,但还是不行。这些jdbc程序以前在命令行下也能运行正常,但现在不行了,不知道其中的原因?请问,对mysql的数据库连接而言还需要设置什么?
      

  5.   

    一般把getConnection()设置为static的,以便其他的地方直接调用,还有Connection可以只用一个,但Statement每做一次操作都要一个新的,所以不要把Statement 写在获得连接里面
      

  6.   

    忘了写调用,补上在要调用的类里,直接Connection con=null;con=DBconn.getConnection();
    然后Statement stm=con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY)就可以用了
      

  7.   

    跟包有关吧?package be;命令行写的时候一定要写明包。
      

  8.   

    我帮你看了下 改了下你的程序 改动的地方[]刮号刮着的
    package be;import java.sql.*;
     public class DBconn{
      java.sql.Connection sqlConn;
      java.sql.Statement sqlStme;
      java.sql.ResultSet sqlRst;
     
      String DBUser="root";  //user
      String DBPassword="";
      String DBServer="127.0.0.1";
      String DBName="yjje";   //date name
     
      DBconn(){
     
      }
     
      public void getConnection(){
      try{
           Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
     sqlConn=java.sql.DriverManager.getConnection("jdbc:mysql://"+DBServer+":3306/"+[DBName]+"?useUnicode=true&characterEncoding=gb2312", DBUser,DBPassword); 
         [sqlStme]=sqlConn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);   }catch(Exception ex){
      System.out.println("DateBase Link Error.");
      }
      }
     
      [public void Close(){
       try{
       sqlRst.close();
       sqlStme.close();
       sqlConn.close();
       }catch(SQLException e){
        System.out.println("SQLERROR!" + e.getMessage());
       }
       
      }]
     }
    然后在我的计算机上编译通过了的 你看看在你那里行吗