详解Linux平台下的Oracle数据库编程(3)

  另一种方式是调用Thin驱动程序。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。

conn=DriverManager.getConnection

("jdbc:Oracle:thin:@10.1.14.34:1521:MyDB","test","test");

  为了获得最高的性能,Oracle公司建议在客户端软件的开发中使用OCI驱动程序。

  (3) 建立Statament和结果集对象,执行SQL语句,结果返回到结果集。

Statement pstmt=conn.createStatement();

ResultSet rset= pstmt.executeQuery(query)

  (4) 处理结果集,显示数据。

  以下是遍历student数据表的Java源程序Stu.java,源程序中包含了两种注册Oracle驱动的方式,以及OCI和Thin两种连接数据库的方法(因程序中不可能同时使用两种方法,所以另一种方法被注释)。

/* 导入Java类 */

import java.sql.*;

/* 主类 */

public class Stu

{

public static void main(String argv[]) throws SQLException

{

/* 声明并初始化变量 */

String query = new String("SELECT id,name,score FROM student");

String name;

int id,score;

Connection conn=null;

try{

/*第一种注册JDBC的Oracle驱动的方法*/

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

/*第二种注册JDBC的Oracle驱动的方法*/

DriverManager.registerDriver

(new oracle.jdbc.driver.OracleDriver());

}catch(Exception e){

System.out.println("Could not load drive:"+e);

System.exit(-1);

}

/*利用Thin驱动程序获取Oracle连接*/

//conn=DriverManager.getConnection

("jdbc:oracle:thin:@10.1.14.34:1521:MyDB","test","test");

//System.out.println("Connected with THIN CLIENT!");

/*利用OCI驱动程序获取Oracle连接*/

conn=DriverManager.getConnection

("jdbc:oracle:oci8:@","test","test");

System.out.println("Connected with OCI8!\n");

/* 使用try ... catch抓取并处理例外 */

try {

Statement pstmt=conn.createStatement();

/* 执行SQL语句 */

ResultSet rset= pstmt.executeQuery(query);

/* 循环处理JDBC结果集的数据 */

while(rset.next()) {

id=rset.getInt(1);

name = rset.getString(2);

score=rset.getInt(3);

System.out.println("ID=" + id);

System.out.println("NAME=" + name);

System.out.println("SCORE=" + score);

System.out.println("---------------");

}

/* 关闭JDBC结果集 */

rset.close();

/* 关闭动态SQL语句 */

pstmt.close();

}

catch(SQLException e) {

System.out.println("出现SQL例外:" + e.getMessage());

}

conn.close();

}

}

编译、执行上述源程序,可显示出student表中所有记录。

$javac Stu.java

$java Stu

5. 结束语

  从Oracle公司的产品策略和发展趋势来看,Java将成为Oracle数据库最有力的工具。Oracle公司在Oracle 8i中引入JVM,并在Oracle 9i中已经发展得极为成熟。这使得我们不仅可以利用JDBC和SQLJ访问Oracle数据库,也可以在Oracle的PL/SQL中执行用Java编写的存储过程和函数,两者的结合是双向和无缝的。Java使Oracle正在成为一个平台无关的数据库,正如Oracle公司的发展目标所说的那样:没有操作系统,只有Oracle和Internet。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwdys.html