2023Java中调用Oracle包的过程_第1页
2023Java中调用Oracle包的过程_第2页
2023Java中调用Oracle包的过程_第3页
2023Java中调用Oracle包的过程_第4页
2023Java中调用Oracle包的过程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页2023Java中调用Oracle包的过程Java中调用Oracle包的过程

在Java中调用Oracle包是我们程序员常常遇到的'事情,那么它详细的过程是怎么样的呢?我们一起来看看!

一、先在oracle中编写测试过程

1、首选建一个测试表

--Createtable

createtableBOOK

(

BOOKIDVARCHAR2(50)notnull,

BOOKNAMEVARCHAR2(50)notnull,

PUBLISHERVARCHAR2(50)notnull,

PRICEVARCHAR2(50)null

)

2、编写ORACLE测试过程

CREATEORREPLACEPACKAGEpkg_test

ASFROMBOOK;

ELSE

sqlstr:=

''''select*

fromBOOKwhereBOOKID=:w_id'''';

OPENp_rcFORsqlstrUSINGp_id;

ENDIF;

ENDget;

ENDpkg_test;

/

在这里我们建立了一个输入参数,为一般类型,两个输出参数,其中一个为一般VARCHAR2型,另一个为特别的记录集类型。

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

二、编写JAVA代码测试过程

/*

*创立日期:2003-8-8

*/

packageJDBC;

/**

*作者:may

*时间:15:09:23

*/

importjava.sql.*;

importoracle.jdbc.driver.*;

publicclassproctest{

publicstaticvoidmain(String[]args){

proctestpc=newproctest();

pc.ShowContent();

}

StringsDBDriver="oracle.jdbc.driver.OracleDriver";

StringsConnStr="jdbc:oracle:thin:@10.3.8.48:1521:ORADB";

Connectionconnect=null;

ResultSetrs=null;

publicproctest(){

try{

Class.forName(sDBDriver);

}

catch(ClassNotFoundExceptione){

System.err.println(e.getMessage());

}

}

publicResultSetShowContent()

{

try{

connect=DriverManager.getConnection(sConnStr,"SHUIBJ","SHUIBJ");

CallableStatementstmt=connect.prepareCall("{callPKG_TEST.GET(?,?,?)}");

stmt.setString(1,"all");//输入参数

stmt.registerOutParameter(2,Types.CHAR);//输出参数为一般参数

stmt.registerOutParameter(3,OracleTypes.CURSOR);//输出参数为结果集参数

stmt.executeQuery();

rs=((OracleCallableStatement)stmt).getCursor(3);//得到输出结果集参数

ResultSetMetaDatarsmd=rs.getMetaData();

intnumberOfColumns=rsmd.getColumnCount();

Stringstr=stmt.getString(2);

System.out.println("其次个参数为:"+str);

System.out.println("结果集列数"+numberOfColumns);

//列出结果集中的记录

ResultSetMetaDatamd=rs.getMetaData();

intnColumns=md.getColumnCount();

for(inti=1;i<=nColumns;i++){

System.out.print(md.getColumnName(i)+((i==nColumns)?"\n":"\t"));

if(i==2)System.out.print("\t");

}

while(rs.next()){

for(inti=1;i<=nColumns;i++){

System.out.print(rs.getString(i)+((i==nColumns)?"\n":"\t"));

}

}

}

catch(SQLExceptionex){

System.err.println(ex.getMessage()+"连数据库有问题!");

}

returnrs;

}

}

输出结果为:

其次个参数为:Hello,may~

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论