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;
}
}
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;
}
}
妳先仔细看看我的问题.
我用了:
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
帮忙看看什幺问题.
<oracle_path>\orant\jdbc\lib\classes12
解决后请复贴把解决方案贴一下,我没用过ORACLe7。3
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/目录下面,这种办法无需重启计算机
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!
String username = "asset";
String password = "asset";DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con = DriverManager.getConnection(url, username, password);
在命令行输入set classpath=%classpath%
再运行程序试一下
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!!
如果有,你有三种选择
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...
Exception in thread….
我该怎幺办呢,第一导坎都迈不过去,真是很郁闷阿!
up!!!
现在症状看可能是大小写问题。--- ZJQ