你的JDBC程序不对,说详细点你是怎么编写的程序?

解决方案 »

  1.   

    要用到这个库
    ORACLE_HOME/jdbc/lib/classes12.jar
    添加进classpath路径中,java程序中import所需类即可
      

  2.   

    package com.dazern.sql;
    import java.sql.*;
    import java.net.URL;class java2oracle{

    public static void main(String args[]){

    String sUsr="SYSTEM";
    String sPwd="1234";
    String query="select * from users";
    try{

    Class.forName("oracle.jdbc.driver.OracleDriver");


    Connection con=DriverManager.getConnection("jdbc.oracle:thin:@localhost:1521:ORACLEDB",sUsr,sPwd);

    checkForWarning(con.getWarnings());

    Statement stmt=con.createStatement();

    ResultSet rs=stmt.executeQuery(query);

    dispResultSet(rs);

    rs.close();
    stmt.close();
    con.close();

    }
    catch(SQLException ex){


    System.out.println("\n***SQLException caught**\n");


    while(ex!=null){
    System.out.println("SQLState:"+ex.getSQLState());
    System.out.println("Message:"+ex.getMessage());
    System.out.println("vender:"+ex.getErrorCode());
    ex=ex.getNextException();
    System.out.println("");

    }
    }

    catch(java.lang.Exception ex){
    ex.printStackTrace();

    }
    }




    private static boolean checkForWarning(SQLWarning warn)
       throws SQLException
       {
       
        boolean rc=false;
       
        if(warn!=null){
        System.out.println("\n***Warning***\n");
        rc=true;
        while(warn!=null){
       
        System.out.println("sqlstate:"+warn.getSQLState());
        System.out.println("Message:"+warn.getMessage());
        System.out.println("vender:"+warn.getErrorCode());
        System.out.println("");
        warn=warn.getNextWarning();
        }
        }
       
        return rc;
       
       }
       
       
       private static void dispResultSet(ResultSet rs)
         throws SQLException
         {
          int i;
          ResultSetMetaData rsmd=rs.getMetaData();
         
          int numCols=rsmd.getColumnCount();
         
          for(i=1;i<=numCols;i++){
          if(i>1) System.out.print(", ");
          System.out.print(rsmd.getColumnLabel(i));
         
         
         
          }
         
          System.out.println("");
         
          boolean more=rs.next();
           
           while(more){
           
            for(i=1;i<numCols;i++){
            if(i>1) System.out.print(", ");
            System.out.print(rs.getString(i));
           
            }
            System.out.println("");
            more=rs.next();
           }
         
         }
    }
      

  3.   

    上面的就是我的程序代码;
    下面就是我的环境变量:
    CLASSPATH=.;D:\oracle\ora90\jdbc\lib\classes111.jar;D:\oracle\ora90\jdbc\lib\nls_charset11.jar;C:\Program Files\Altova\xmlspy\XMLSpyInterface.jar;E:\JAVA\J2SE5.0\lib\tools.jar;E:\JAVA\JavaCode;E:\JAVA\MyProject\dazern;E:\JAVA\SQL2000JDBC\lib;E:\JAVA\SQL2000JDBC\lib\mssqlserver.jar;E:\JAVA\SQL2000JDBC\lib\msbase.jar;E:\JAVA\SQL2000JDBC\lib\msutil.jar;E:\JAVA\Tomcat5.0\common\lib\servlet-api.jar;E:\JAVA\MyProject\eclipse
      

  4.   

    驱动程序我添加好了,可我在CLASSPATH里设了好象没有用!后面我就把驱动程序直接拷到E:\JAVA\J2SE5.0\jre\lib\ext目录下,程序可以运行了,但程序就弹出了上面的错误信息(异常)!
    我不知道是什么问题!我是第一次学习JDBC!
    我想问为什么我在CLASSPATH里面设置会没有用了!
      

  5.   

    你可以试试用ORACLE自带的驱动:ORACLE的目录\ORA92\JDBC\LIB\classes12
      

  6.   

    大家告诉我要怎么引入啊,我在CLASSPTATH变量里设置好了,但我要怎么引用呀!我之间拷贝到JRE里面就可以不用import引入,可以运行!但一把拷贝到JRE里面的删掉就会出现下面的信息:
    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
            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:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at com.dazern.sql.java2sqlserver.main(java2sqlserver.java:24)
    Press any key to continue...我真的被搞的越来越糊涂了,大家帮我想想办法好吗,我急死了,搞这么个东西搞了这么久!哎
      

  7.   

    你的classpath真乱~
    在classpath中加上D:\oracle\ora90\jdbc\lib\classes12.jar程序中加上:
    import oracle.jdbc.driver.OracleDriver