用JDBC连接oracle时 有如下问题:
java.lang.ClassNotFoundException: oracle.jdbc.driver.oracledriver
        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 ConnectDB.doConnect(ConnectDB.java:16)
        at ConnectDB.main(ConnectDB.java:41)请问怎么在环境变量里设置才可以没问题啊??谢谢各位高手了!!!!

解决方案 »

  1.   

    把JDBC包放到你应用下的lib目录里,然后在环境变量里设置classpath指定到你lib目录
    如果是在eclipse里,就直接在项目里导入这个包就成
    你的工程--属性--java   build   path--Libraries--add   External   Jar 
      

  2.   

    不知道你使用的环境是什么如果使用命令行编译的话,可以在环境变量->系统变量(s)下编辑classpath,在最后添上oracle驱动文件(应该有三个)的完整路径,注意用;号隔开以下是我的设置,供你参考;D:\classes12.jar;D:\nls_charset12.jar;D:\ocrs12.jar;
    如果是eclipse下1.如果是java项目,可以在项目文件夹上右键->属性,弹出eclipse属性对话框,选中左边一栏的java构建路径,再选择右边顶部的库(L)->添加库->用户库->点击“用户库”按钮->新建->写上库的名字(可随便填写)->点击“添加JAR”按钮->找到你的oracle驱动文件,全部选中->打开->确定->确认新建的库已经勾选,点“完成”2.如果是web项目,只要把oracle驱动文件拷贝到项目文件夹下WebRoot\WEB-INF\lib\中就行了;或者拷贝到Tomcat文件夹下common\lib\中也可以---------------------------------------------
              欢迎加入qq群44493666参与讨论
      

  3.   

    补允:如果不想设置环境变量可以在运行时加上-classpath参数
      

  4.   

    最好还是设置好环境变量,要不每次都要设置-classpath参数
    把包引近来以后在代码里引进驱动就可以了,下面是不同数据库用到的不同代码
    1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar Class.forName( "org.gjt.mm.mysql.Driver" ); cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );
    2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar Class.forName( "org.postgresql.Driver" ); cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );
    3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip Class.forName( "oracle.jdbc.driver.OracleDriver" ); cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );
    4. Sybase(http://jtds.sourceforge.net)jconn2.jar Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" ); cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd ); //(Default-Username/Password: "dba"/"sql")
    5. Microsoft SQLServer(http://jtds.sourceforge.net) Class.forName( "net.sourceforge.jtds.jdbc.Driver" ); cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );
    6. Microsoft SQLServer(http://www.microsoft.com) Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ); cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );
    7. ODBC Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );
    8.DB2(新添加) Class.forName("com.ibm.db2.jdbc.net.DB2Driver"); String url="jdbc:db2://192.9.200.108:6789/SAMPLE" cn = DriverManager.getConnection( url, sUsr, sPwd );
    9.Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10 JDBC Name: jTDS URL: http://jtds.sourceforge.net/ Version: 0.5.1 Download URL: http://sourceforge.net/project/showfiles.php?group_id=33291
    10.Postgresql JDBC Name: PostgreSQL JDBC URL: http://jdbc.postgresql.org/ Version: 7.3.3 build 110 Download URL: http://jdbc.postgresql.org/download.html11.IBM AS400主机在用的JDBC语法 有装V4R4以上版本的Client Access Express 可以在C:\Program Files\IBM\Client Access\jt400\lib 找到 driver 档案 jt400.zip,并更改扩展名成为 jt400.jar12.informix Class.forName("com.informix.jdbc.IfxDriver").newInstance();  String url =  "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;  user=testuser;password=testpassword"; Lib:jdbcdrv.zip<br><br>Class.forName( "com.sybase.jdbc.SybDriver" ) url="jdbc:sybase:Tds:127.0.0.1:2638/asademo"; SybConnection connection= (SybConnection)DriverManager.getConnection(url,"dba","sql");13.SAP DB Class.forName ("com.sap.dbtech.jdbc.DriverSapDB"); java.sql.Connection connection = java.sql.DriverManager.getConnection ( "jdbc:sapdb://" + host + "/" + database_name,user_name, password)
    14.InterBase String url = "jdbc:interbase://localhost/e:/testbed/database/employee.gdb"; Class.forName("interbase.interclient.Driver"); //Driver d = new interbase.interclient.Driver (); /* this will also work if you do not want the line above */ Connection conn = DriverManager.getConnection( url, "sysdba", "masterkey" );15.HSqlDB url:     http://hsqldb.sourceforge.net/ driver:  org.hsqldb.jdbcDriver 连接方式有4种,分别为: con-str(内存): jdbc:hsqldb. con-str(本地): jdbc:hsqldb:/path/to/the/db/dir con-str(http): jdbc:hsqldb:http://dbsrv con-str(hsql): jdbc:hsqldb:hsql://dbsrv
      

  5.   

    问题已经解决 
    把CLASSPATH设好就OK了
    谢谢了!
      

  6.   

    java.sql.SQLException: 调用中无效的参数
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:196)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at Tans.main(Tans.java:20)
    这是怎么回事啊,谁帮帮我?
      

  7.   

    为什么我classpath设置了还是报这个错呢
      

  8.   

    说错了,为什么我buildpath设置了还是报这个错
      

  9.   

    我的不知道为什么,MyEclipse中,直接在项目里导入Oracle驱动包不行,拷贝到项目文件夹下WebRoot\WEB-INF\lib\中就行了.
      

  10.   

    java.sql.SQLException: 调用中无效的参数
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:196)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at Tans.main(Tans.java:20)
    这是怎么回事啊,谁帮帮我?
    ---------是不是你获取数据库连接时URL地址,数据库用户名和密码没有填写完全啊!