如何用jdbc连接oracle 其实jdbc下面的lib目录里头才是驱动一般是classes12.zip和nls_charset12.zip你可以看jdbc目录下的说明文件如何连接都有至于怎么操作表,还是看看jdbc的书或者资料比较清楚一些 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用的是class12.jar,给你一个例子://File Demo1.javaimport java.sql.*;import java.io.*;import java.util.*;public class Demo1{ public static void main(String[] args) { try { String url = "jdbc:oracle:thin:@192.168.16.68:1521:ORA816"; //注册驱动器 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); DriverManager.setLoginTimeout(1); //建立数据库连接 Connection con = DriverManager.getConnection(url, "dwl", "jingyi"); //创建statement Statement stmt = con.createStatement(); //1、删除数据(不带参数) String del_row = "delete from emp"; int ret = stmt.executeUpdate(del_row); System.out.println("删除记录条数:" + ret); //2、简单插入数据 int i; for(i=0;i<9;i++){ String ins_row = "insert into emp values ('" + "dwl_" + i + "'," + i + ")"; stmt.executeUpdate(ins_row); } //3、删除数据(带参数) int eno = 2; String del2_row = "delete from emp where eno=" + eno; ret = stmt.executeUpdate(del2_row); System.out.println("删除记录条数:" + ret); //4、查询数据,返回结果集 String sel_row = "select * from emp order by eno"; ResultSet result = stmt.executeQuery(sel_row); while(result.next()){// System.out.println(result.getInt("eno") + " " + result.getString("ename")); System.out.println(result.getInt(2) + " " + result.getString(1)); } stmt.close(); //5、调用存储过程(无参数) String call_p = "call my_procedure_1()"; CallableStatement call_stmt = con.prepareCall(call_p); call_stmt.executeUpdate(); call_stmt.close(); //6、调用有参数的存储过程 String call_p2= "call my_procedure_4(?, ?, ?)"; CallableStatement call_stmt2 = con.prepareCall(call_p2); call_stmt2.setString(1, "dwl"); call_stmt2.setInt(2, 1); call_stmt2.registerOutParameter(3, Types.NUMERIC); call_stmt2.executeUpdate(); eno = 23; eno = call_stmt2.getInt(3); System.out.println(eno); call_stmt2.close(); con.commit(); con.close(); } catch(SQLException ex) { System.out.println(ex); } }}; http://www.csdn.net/expert/topic/670/670716.xml?temp=.6445276 我按jdbc目录中的readme文件中所说的,在classpath中加了D:\Oracle\Ora81\jdbc\lib\classes12.zip;D:\Oracle\Ora81\jdbc\lib\nls_charset12.zip,在path中加了D:\Oracle\Ora81\jdbc\lib;程序如下:import java.sql.*;public class a{ public static void main (String[] args) throws SQLException{ DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@bank:1521:bank","bank", "bank"); Statement stmt = conn.createStatement (); ResultSet rset = stmt.executeQuery ("select Measure_Desc from Analysis_Measure"); while (rset.next ()) { System.out.println (rset.getString (1)); } }}但在运行时为什么报:Exception in thread "main" java.lang.NoClassDefFoundError: oracle/jdbc/driver/OracleDriver ?是不是jdbc没注册上?该怎么处理? 你的驱动没有找到!你再确认一下你的classpath中的确把class12.zip包括了进来!可以在cmd中用set命令,看看classpath中的具体内容。 是classes12.zip吧,可我的确已经包进来了,用set可以看到。怎么回事? 我知道了,因为我的.class文件不在classpath设置中,可能是我运行时加了-classpath把系统中设置的classpath覆盖了吧。怎么才能保留系统classpath基础上再加上自己的classpath呢?回答了就结帐。谢谢。 把你运行时的命令集写成一个.bat或.cmd文件。给你个例子吧!set JDK_HOME=c:\jdk1.3.1set classpath=%classpath%;(这里写你自己想加入的classpath)set java=%JDK_HOME%\bin\java%java% -classpath %classpath% (这里写你运行的class名) JBuilder用的不是操作系统的Classpath,所以加在Classpath中没有用。应该将web工程中加上需要的需要的库,Project-Project properties-paths-Required Libraries中加上需要包。另外tomcat可能不认.zip的包,应该改为.jar。 求整型数组里任意两个数之和为7的数字对 注释程序: 关于利用表格显示树的关系??????? 新手上路 桌面程序中,如何限定一个输入框只能输入10个字符,超过10个字符时,再按键或粘贴都不显示? 急!急!急!如何将一个字符串分段显示!! J2SE,J2EE,J2ME有什么区别?分别是什么? 谁能帮帮我。那里来得句柄异常? jbuilder6用了几天后,再起动时出现unknown license file format,如何解决 JBUILDER高手请看 怎样跨越网络密码? 如何设置tomcat,改变我的.class文件的默认路径。
//File Demo1.java
import java.sql.*;
import java.io.*;
import java.util.*;public class Demo1
{
public static void main(String[] args)
{
try
{
String url = "jdbc:oracle:thin:@192.168.16.68:1521:ORA816";
//注册驱动器
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
DriverManager.setLoginTimeout(1); //建立数据库连接
Connection con = DriverManager.getConnection(url, "dwl", "jingyi");
//创建statement
Statement stmt = con.createStatement(); //1、删除数据(不带参数)
String del_row = "delete from emp";
int ret = stmt.executeUpdate(del_row);
System.out.println("删除记录条数:" + ret); //2、简单插入数据
int i;
for(i=0;i<9;i++){
String ins_row = "insert into emp values ('" + "dwl_" + i + "'," + i + ")";
stmt.executeUpdate(ins_row);
} //3、删除数据(带参数)
int eno = 2;
String del2_row = "delete from emp where eno=" + eno;
ret = stmt.executeUpdate(del2_row);
System.out.println("删除记录条数:" + ret); //4、查询数据,返回结果集
String sel_row = "select * from emp order by eno";
ResultSet result = stmt.executeQuery(sel_row);
while(result.next()){
// System.out.println(result.getInt("eno") + " " + result.getString("ename"));
System.out.println(result.getInt(2) + " " + result.getString(1));
} stmt.close(); //5、调用存储过程(无参数)
String call_p = "call my_procedure_1()";
CallableStatement call_stmt = con.prepareCall(call_p);
call_stmt.executeUpdate();
call_stmt.close(); //6、调用有参数的存储过程
String call_p2= "call my_procedure_4(?, ?, ?)";
CallableStatement call_stmt2 = con.prepareCall(call_p2);
call_stmt2.setString(1, "dwl");
call_stmt2.setInt(2, 1);
call_stmt2.registerOutParameter(3, Types.NUMERIC);
call_stmt2.executeUpdate();
eno = 23;
eno = call_stmt2.getInt(3);
System.out.println(eno);
call_stmt2.close(); con.commit();
con.close();
}
catch(SQLException ex)
{
System.out.println(ex);
}
}
};
import java.sql.*;public class a{
public static void main (String[] args) throws SQLException{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@bank:1521:bank","bank", "bank");
Statement stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery ("select Measure_Desc from Analysis_Measure");
while (rset.next ()) {
System.out.println (rset.getString (1));
}
}
}但在运行时为什么报:
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/jdbc/driver/OracleDriver ?
是不是jdbc没注册上?该怎么处理?
回答了就结帐。谢谢。
set JDK_HOME=c:\jdk1.3.1set classpath=%classpath%;(这里写你自己想加入的classpath)set java=%JDK_HOME%\bin\java%java% -classpath %classpath% (这里写你运行的class名)
应该将web工程中加上需要的需要的库,Project-Project properties-paths-Required Libraries中加上需要包。另外tomcat可能不认.zip的包,应该改为.jar。