知识大全 在Java中调用Oracle包中的过程

Posted 过程

篇首语:厌伴老儒烹瓠叶,强随举子踏槐花。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Java中调用Oracle包中的过程相关的知识,希望对你有一定的参考价值。

在Java中调用Oracle包中的过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 先在oracle中编写测试过程

   首选建一个测试表

   Create tablecreate table BOOK(  BOOKID    VARCHAR ( ) not null   BOOKNAME  VARCHAR ( ) not null   PUBLISHER VARCHAR ( ) not null   PRICE     VARCHAR ( ) null)

   编写ORACLE测试过程

  CREATE OR REPLACE PACKAGE pkg_testAS   TYPE myrctype IS REF CURSOR;

  PROCEDURE get (p_id VARCHAR p_str OUT VARCHAR p_rc OUT myrctype);END pkg_test;

  /

  CREATE OR REPLACE PACKAGE BODY pkg_testAS   PROCEDURE get (p_id VARCHAR p_str OUT VARCHAR p_rc OUT myrctype)   IS      sqlstr   VARCHAR ( );   BEGIN      p_str := Hello may~ ;      IF p_id = all THEN         OPEN p_rc FOR            SELECT *              FROM BOOK;      ELSE         sqlstr :=            select *           from BOOK where BOOKID=:w_id ;         OPEN p_rc FOR sqlstr USING p_id;      END IF;   END get;END pkg_test;

  /

  在这里我们建立了一个输入参数 为普通类型 两个输出参数 其中一个为普通VARCHAR 型 另一个为特殊的记录集类型

  (注 在数据库端测试一下这个过程 以确保没有问题 开始下面的操作~ )

  二 编写JAVA代码测试过程

  /* * 创建日期:  */package JDBC;

  /** * 作者:may * 时间: : :  */import java sql *;import oracle jdbc driver *;

  public class proctest     public static void main(String[] args)    proctest pc = new proctest();   pc ShowContent();        String sDBDriver= oracle jdbc driver OracleDriver ;  String sConnStr= jdbc:oracle:thin:@ : :ORADB ;      Connection  connect=null;  ResultSet rs = null;    public proctest()   try    Class forName(sDBDriver);      catch(ClassNotFoundException e)    System err println(e getMessage());       public ResultSet ShowContent()            try        connect = DriverManager getConnection(sConnStr SHUIBJ SHUIBJ );    CallableStatement  stmt = connect prepareCall( call PKG_TEST GET(? ? ?) );        stmt setString( all );  //输入参数        stmt registerOutParameter( Types CHAR); //输出参数为普通参数    stmt registerOutParameter( OracleTypes CURSOR); //输出参数为结果集参数          stmt executeQuery();        rs = ((OracleCallableStatement) stmt) getCursor( ); //得到输出结果集参数        ResultSetMetaData rsmd = rs getMetaData();     int numberOfColumns = rsmd getColumnCount();

  String str = stmt getString( );           System out println( 第二个参数为: +str);    System out println( 结果集列数 +numberOfColumns);        //列出结果集中的记录    ResultSetMetaData md = rs getMetaData();    int nColumns = md getColumnCount();    for (int i= ;i<=nColumns;i++)     System out print(md getColumnName(i)+((i==nColumns)? \\n : \\t ));     if(i== ) System out print( \\t );            while (rs next())     for(int i= ;i<=nColumns;i++)     System out print(rs getString(i)+((i==nColumns)? \\n : \\t ));                   catch(SQLException ex)    System err println(ex getMessage()+ 连数据库有问题! );         return rs;         输出结果为

cha138/Article/program/Oracle/201311/18612

相关参考

知识大全 java调用oracle存储过程

  一无返回值的存储过程  存储过程为  CREATEORREPLACEPROCEDURETESTA(PARAINVARCHARPARAIN VARCHAR) 

知识大全 调用Oracle数据库中的存储过程需要两步走

调用Oracle数据库中的存储过程需要两步走  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  存储

知识大全 Java I/O 包中的Decorator模式介绍

JavaI/O包中的Decorator模式介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!JDK

知识大全 使用java调用timesten实现Oracle入库

使用java调用timesten实现Oracle入库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 VFP中调用Oracle的存储过程

VFP中调用Oracle的存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  VFP由于其通

知识大全 Jsp中调用Oracle存储过程的小例子

Jsp中调用Oracle存储过程的小例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /*执行

知识大全 Java/JSP中调用SQL Server存储过程完整示例

Java/JSP中调用SQLServer存储过程完整示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 在Oracle中使用Java存储过程

在Oracle中使用Java存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java存储

知识大全 如何在Oracle数据库中使用Java存储过程

如何在Oracle数据库中使用Java存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本

知识大全 Ibatis调用Oracle存储过程

Ibatis调用Oracle存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近开始接触