http://www.csdn.net/expert/topic/1065/1065682.xml?temp=.3889582
package jp.co.nec.JTC;import java.sql.*;
import java.util.*;
import java.io.*;
public class JTCDBConnectionF implements Serializable{
protected Connection con = null;
public JTCDBConnectionF() { }
public void dbOpen() throws java.lang.Exception{
if (con == null || con.isClosed()) {
String url = "jdbc:oracle:oci8:@apsv";
String user = "scott";
String pass = "tiger";

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

con = DriverManager.getConnection(url,user,pass);

con.setTransactionIsolation( con.TRANSACTION_READ_COMMITTED );
con.setAutoCommit(false); System.out.println("DB OPEN");
} else {
System.out.println("OPENED DB");
}
}
public JTCerrorF dbClose() {
try {
if (con != null && !con.isClosed()) {

con.rollback();
con.close();
System.out.println("DB CLOSE");
} else {
System.out.println("CLOSED DB");
}
}
catch (SQLException se) {
// return new JTCerrorF(se.getErrorCode(),se);
return new JTCerrorF("PD05",se);        //DB CLOSE
}
finally {
con = null;
}
return (JTCerrorF)null;
}
}

解决方案 »

  1.   

    先谢谢大虾的鼎力相助.但还是解决不暸偶的问题.
    妳先仔细看看我的问题.
    我用了:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    试暸以下三种连接.
    url = "jdbc:oracle:oci8:@tst_database","test","test";
    url="jdbc:oracle:oci7:@tst_database","test","test"
    url="jdbc:oracle:thin:@tst_database","test","test"
    编译通过.
    但偶运行时.提示:NO SUITABLE DRIVER
    帮忙看看什幺问题.
      

  2.   

    把oracle的驱动程序添加到class_path中,8i的驱动程序一般在
    <oracle_path>\orant\jdbc\lib\classes12
    解决后请复贴把解决方案贴一下,我没用过ORACLe7。3
      

  3.   

    oracle的驱动为8.17自带的classes12.jar ,nls_charset12.jar (8.17版本以下的对jdbc2.0支持不好,中文显示为16进制),同样放到classpath中用法:
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
    String url="jdbc:oracle:thin:@211211.211.211:1521:melinets"; 
    String user="user"; 
    String password="password"; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from center.bibli_holding"; 
    ResultSet rs=stmt.executeQuery(sql);
    如果是在classpath中声明classes12.jar的路径的话,需要重启计算机才能是新的classpath生效另一种办法就是把classes12.jar拷贝到$JAVA_HOME/jre/lib/ext/目录下面,这种办法无需重启计算机
      

  4.   

    我下载了驱动程序:classes12.jar.放置于<java_home>\jre\lib\ext\classes12.jar.同时加到classpath环境中.Class.forName(“oracle.jdbc.driver.OracleDriver”).
    url=”jdbc:oracle:thin:@10.10.10.10:1521:orcl”
    运行时出现如下错误:
    exception in thread “main” java.lang.NoClassDefFoundError:oracle/jdbc/driver/oracledriver
    (wrong name:oracle/jdbc/driver/OracleDriver)1. 驱动程序配置是否正确?
    2. 连接模式是否错误?(我装了客户端,应该用thin模式呢还是其它的哪些模式?)
    3. 是否jdk配置有问题?请帮忙!TKS!
      

  5.   

    String url = "jdbc:oracle:thin:@133.166.200.235:1521:orajp";
    String username = "asset";
    String password = "asset";DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
    Connection con = DriverManager.getConnection(url, username, password);
      

  6.   

    classpath设置可能还是不正确,没有起作用。
    在命令行输入set classpath=%classpath%
    再运行程序试一下
      

  7.   

    先谢谢各位的回贴.
    Orcle7.3,驱动程序classes12.jar,放在<java_home>\jre\lib\ext下,同时有放在classpath中.
    采用thin模式时,
    在我classpath设置为:<java_home>\jre\lib\ext\classes12.jar时候.提示:not suitable driver.
    在我把classes12.jar解压缩,classpath设置为: <java_home>\jre\lib\ext\classes12,编译通过,不能运行.提示:exception in tread “main”,java.lang.noclassdeffounderror:
    oracle/jdbc/driver/oracledriver(wrong name: oracle/jdbc/driver/oracledriver).
    下面为我的path和classpath设置.
    PATH=%PATH%;d:\j2sdk1.4.0_01;d:\j2sdk1.4.0_01\bin;
    Set CLASSPATH=d:\PROGRA~1\BORLAND\VBROKER\lib\vbcpp.jar;d:\j2sdk1.4.0_01;d:\j2sdk1.4.0_01\lib\tools.jar;d:\j2sdk1.4.0_01\lib\dt.jar;d:\j2sdk1.4.0_01\lib\htmlconverter.jar;d:\j2sdk1.4.0_01\src.jar;d:\j2sdk1.4.0_01\jre\lib\ext\classes12.jar;d:\j2sdk1.4.0_01\srcclass;
    我运行其它程序都可以阿,我想应该没有问题.关键就是JDBC驱动程序的问题.
    大家帮帮我.SOS!!
      

  8.   

    用jar命令查看你的classes12.jar中是否包含oracle/jdbc/driver/oracledriver.class如果没有,重新找一个classes12.jar,最好是oracle8.17以后的版本
    如果有,你有三种选择
    1.只在classpath中声明classes12.jar,不要同时放到$java_home\jre\lib\ext\中.注意:修改过classpath中后一定要重新启动计算机2.只在$java_home\jre\lib\ext\中放classes12.jar,不在classpath中声明3.以上两个都不行的话,用jar命令(或winrar)把classes12.jar解压,把解开的oracle和javax目录放到某个已经在classpath中声明过的路径中.eg:拷贝到你上面例子中的d:\j2sdk1.4.0_01\srcclass\目录下.try...
      

  9.   

    我最喜欢测试了,可三种都无效.第一种,提示:no suitable driver.第二种:no suitable driver.第三种:
    Exception in thread….
    我该怎幺办呢,第一导坎都迈不过去,真是很郁闷阿!
    up!!!
      

  10.   

    程序贴出来!
    现在症状看可能是大小写问题。--- ZJQ
      

  11.   

    不是驱动本身有问题,就是classpath没设置好