2023Java中調(diào)用Oracle包的過程_第1頁
2023Java中調(diào)用Oracle包的過程_第2頁
2023Java中調(diào)用Oracle包的過程_第3頁
2023Java中調(diào)用Oracle包的過程_第4頁
2023Java中調(diào)用Oracle包的過程_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第頁2023Java中調(diào)用Oracle包的過程Java中調(diào)用Oracle包的過程

在Java中調(diào)用Oracle包是我們程序員常常遇到的'事情,那么它詳細(xì)的過程是怎么樣的呢?我們一起來看看!

一、先在oracle中編寫測(cè)試過程

1、首選建一個(gè)測(cè)試表

--Createtable

createtableBOOK

(

BOOKIDVARCHAR2(50)notnull,

BOOKNAMEVARCHAR2(50)notnull,

PUBLISHERVARCHAR2(50)notnull,

PRICEVARCHAR2(50)null

)

2、編寫ORACLE測(cè)試過程

CREATEORREPLACEPACKAGEpkg_test

ASFROMBOOK;

ELSE

sqlstr:=

''''select*

fromBOOKwhereBOOKID=:w_id'''';

OPENp_rcFORsqlstrUSINGp_id;

ENDIF;

ENDget;

ENDpkg_test;

/

在這里我們建立了一個(gè)輸入?yún)?shù),為一般類型,兩個(gè)輸出參數(shù),其中一個(gè)為一般VARCHAR2型,另一個(gè)為特別的記錄集類型。

(注:在數(shù)據(jù)庫端測(cè)試一下這個(gè)過程,以確保沒有問題,起先下面的操作~:)

二、編寫JAVA代碼測(cè)試過程

/*

*創(chuàng)立日期:2003-8-8

*/

packageJDBC;

/**

*作者:may

*時(shí)間: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");//輸入?yún)?shù)

stmt.registerOutParameter(2,Types.CHAR);//輸出參數(shù)為一般參數(shù)

stmt.registerOutParameter(3,OracleTypes.CURSOR);//輸出參數(shù)為結(jié)果集參數(shù)

stmt.executeQuery();

rs=((OracleCallableStatement)stmt).getCursor(3);//得到輸出結(jié)果集參數(shù)

ResultSetMetaDatarsmd=rs.getMetaData();

intnumberOfColumns=rsmd.getColumnCount();

Stringstr=stmt.getString(2);

System.out.println("其次個(gè)參數(shù)為:"+str);

System.out.println("結(jié)果集列數(shù)"+numberOfColumns);

//列出結(jié)果集中的記錄

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()+"連數(shù)據(jù)庫有問題!");

}

returnrs;

}

}

輸出結(jié)果為:

其次個(gè)參數(shù)為:Hello,may~

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論