Class.forName("oracle.jdbc.driver.OracleDriver");
cn = DriverManager.getConnection(
                    "jdbc:oracle:thin:@" + dbHost + ":1521:sid", username, password);
在DriverManager.getConnection这句上报错:
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.sql
请问是怎么回事?

解决方案 »

  1.   

    还有Oracle的sid你也写好了么?
      

  2.   

    cn = DriverManager.getConnection(
                        "jdbc:oracle:thin:@" + dbHost + ":1521:sid", username, password);
    你这样写了个格式,没有写具体的内容啊,
    dbHost 一般是127.0.0.1:端口号
    sid你自己装Oracle时候应该知道的吧
    username和password你自己也应该知道的吧!
      

  3.   

    写代码之前记得引入这个包,import java.sql.*;
      

  4.   

    dbHost,sid, username,password都有值的,我这里用变量名代表一下
      

  5.   

    Exception in thread "main" java.lang.SecurityException: Prohibited package name:
     java.sql
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$100(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$100(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
            at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
    va:547)
            at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:347)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at EvalNotif.main(EvalNotif.java:51)
      

  6.   

    你自己的程序不会用的是package java.sql; 吧, 是的话就改掉
      

  7.   

    当然不会,我把这里连接数据库的换成是sqlserver就会报error establishing socket
      

  8.   

    更正一下,连接sqlserver是ok的,刚才sqlserver的db改了一下
      

  9.   

    jdk 1.4, oracle驱动ojdbc14.jar已经放在classpath里了
      

  10.   

    你把oracle里面的那个class12.jar文件拷到web-inf里面的lib下面
      

  11.   

    我那个ojdbc14.jar是在oracle网站上下载的for oracle 92的驱动
    如果换成class12.jar会报java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
      

  12.   

    使用oracle安装目录下的jdbc\lib\classes12.jar
    保证oracle相关服务已启动
    再试试
      

  13.   

    OK,解决了,不过我还是比较迷惑,我下载驱动的时候好像看到classes12.jar不是适合我的oracle版本的