




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第页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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁门工厂改造方案(3篇)
- 企业招商销售方案(3篇)
- 市政管道保修方案(3篇)
- 2025届高三高考壮行大会校长讲话:赓续薪火志愈坚聚力前行功必成
- 花池改造重建方案(3篇)
- 工程部月工作总结与思路
- 粗加工食品安全管理制度
- 幼儿园春季班级安全工作总结
- 湖北省突发公共卫生事件应急预案
- 安全管理培训心得
- 2025至2030中国糠酸行业发展趋势分析与未来投资战略咨询研究报告
- 江西省上饶市广信区2023-2024学年七年级下学期6月期末考试数学试卷(含答案)
- 糖尿病病人胰岛素治疗讲课件
- 高压气体绝缘设备中SF6分解产物检测SO2传感器的设计与应用
- poct科室管理制度
- 沟通与表达讲课件
- 2025年山东高考化学真题及答案
- 2025-2030年中国鱼胶原蛋白肽行业市场现状供需分析及投资评估规划分析研究报告
- 形势与政策(2025春)超星学习通章节测试、考试及完整答案(夺冠)
- 广东省中山市2023-2024学年七年级下学期期末数学试题(含答案)
- 2025年人教部编版语文五年级下册期末检测真题及答案(2套)
评论
0/150
提交评论