2007-01-08

PL/SQL和Java开发Oracle8i应用程序

来源: 本站收集整理 作者:佚名 评论 0 条
 >SELECT prepend_hello(ENAME) FROM EMP;

  使用CALL格式在顶级调用:

>CALL prepend_hello(‘BILL') INTO :x;\

  在PL/SQL过程、包或匿名块的内部,使用与调用其它PL/SQL过程一样的语法调用:

>DECLARE
emp_name VARCHAR;
BEGIN…
emp_name := prepend_hello(‘BILL');

END;

从一个实例的方法内部,可以调用Oracle对象的方法,从而调用底层的Java实现:

select pt.p, pt.p.jdistance(point(0, 0)) from point_table pt;

  最后,既然所有发布的Java子程序,对SQL和PL/SQL来说,都仿佛是一个PL/SQL子程序[内部用Java实现的子程序],那么一个Java子程序就能透明地参与到PL/SQL子程序所发起的服务器到服务器的RPC调用当中,也能参与到远程数据库服务器的SQL发出的分布式事务当中。

  Java 程序如何访问SQL和PL/SQL?

  Java 应用程序使用标准的JDBC语法或SQLJ语法访问SQL和PL/SQL。Oracle8i 提供了内嵌的JDBC驱动程序和内嵌的SQLJ 转换器,它们都提供了与Oracle客户端JDBC驱动程序及SQLJ转换器相同的功能,其中包括对所有Oracle专有数据类型的支持(例如ROWID、REFCursors、及Oracle8对象关系类型)。例如,有这样一个用PL/SQL编写的存储函数prepend_hello。要通过JDBC在Java程序里调用这个存储过程,我们使用下面的标准JDBC语法:

public class StaticCurJDBC {

public static String get() throwsSQLException,
CoreException {
DriverManager.registerDriver(new OracleDriver());
Connection con=DriverManager.getConnection("jdbc:oracle:kprb:");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT prepend_hello(ENAME) FROM EMP);

}

共5页: 上一页 [1] [2] [3] 4 [5] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:对比Oracle数据库中多种导入数据方法  
下一篇:实现从Sybase到Oracle连接服务器
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号