知识大全 在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相关参考
一无返回值的存储过程 存储过程为 CREATEORREPLACEPROCEDURETESTA(PARAINVARCHARPARAIN VARCHAR)
调用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的存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! VFP由于其通
Jsp中调用Oracle存储过程的小例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /*执行
知识大全 Java/JSP中调用SQL Server存储过程完整示例
Java/JSP中调用SQLServer存储过程完整示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
在Oracle中使用Java存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java存储
如何在Oracle数据库中使用Java存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本
Ibatis调用Oracle存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近开始接触