<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java中調(diào)用Oracle包的過(guò)程

    時(shí)間:2024-06-27 21:21:55 Oracle認(rèn)證 我要投稿
    • 相關(guān)推薦

    Java中調(diào)用Oracle包的過(guò)程

      在Java中調(diào)用Oracle包是我們程序員經(jīng)常遇到的事情,那么它具體的過(guò)程是怎么樣的呢?我們一起來(lái)看看!

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

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

      -- Create table

      create table BOOK

      (

      BOOKID VARCHAR2(50) not null,

      BOOKNAME VARCHAR2(50) not null,

      PUBLISHER VARCHAR2(50) not null,

      PRICE VARCHAR2(50) null

      )

      2、編寫(xiě)ORACLE測(cè)試過(guò)程

      CREATE OR REPLACE PACKAGE pkg_test

      AS

      TYPE myrctype IS REF CURSOR;

      PROCEDURE get (p_id VARCHAR2, p_str OUT VARCHAR2, p_rc OUT myrctype);

      END pkg_test;

      /

      CREATE OR REPLACE PACKAGE BODY pkg_test

      AS

      PROCEDURE get (p_id VARCHAR2, p_str OUT VARCHAR2,p_rc OUT myrctype)

      IS

      sqlstr VARCHAR2 (500);

      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;

      /

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

      (注:在數(shù)據(jù)庫(kù)端測(cè)試一下這個(gè)過(guò)程,以確保沒(méi)有問(wèn)題,開(kāi)始下面的操作~:)

      二、編寫(xiě)JAVA代碼測(cè)試過(guò)程

      /*

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

      */

      package JDBC;

      /**

      * 作者:may

      * 時(shí)間:15:09:23

      */

      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:@10.3.8.48:1521: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(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ù)

      ResultSetMetaData rsmd = rs.getMetaData();

      int numberOfColumns = rsmd.getColumnCount();

      String str = stmt.getString(2);

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

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

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

      ResultSetMetaData md = rs.getMetaData();

      int nColumns = md.getColumnCount();

      for (int i=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(int i=1;i<=nColumns;i++){

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

      }

      }

      }

      catch(SQLException ex){

      System.err.println(ex.getMessage()+"連數(shù)據(jù)庫(kù)有問(wèn)題!");

      }

      return rs;

      }

      }

      輸出結(jié)果為:

      第二個(gè)參數(shù)為:Hello,may~

      結(jié)果集列數(shù)4

      BOOKID BOOKNAME PUBLISHER PRICE

      001-22-23-1 jsp 應(yīng)用開(kāi)發(fā)詳解 電子工業(yè)出版社 123

      123 uml參考手冊(cè) 機(jī)械工業(yè)出版社 34

    主站蜘蛛池模板: 亚洲精品天天影视综合网| 无码人妻精品一区二区蜜桃AV| 欧美亚洲综合免费精品高清在线观看| 国产精品成人A区在线观看 | 亚洲精品午夜国产VA久久成人| 99久久亚洲综合精品成人 | 精品一区二区三区东京热| 欧美国产精品va在线观看| 国产精品区AV一区二区| 欧美大片日韩精品| 国产精品熟女高潮视频| 亚洲国产一成人久久精品| 网友偷拍日韩精品| 久久无码人妻精品一区二区三区| 国产精品电影在线| 久久se精品一区精品二区| 成人久久精品一区二区三区| 久久久久人妻一区精品性色av| | 香港三级精品三级在线专区| 久久精品二区| 久久伊人精品青青草原日本 | 国产精品日韩欧美久久综合| 欧美精品亚洲精品日韩| 尤物国产在线精品福利一区| 精品一区二区三区在线视频| 2021国产精品成人免费视频| 国产三级久久久精品麻豆三级| 亚洲AV日韩精品久久久久| 亚洲高清专区日韩精品| 亚洲午夜精品一级在线播放放| 一本大道无码日韩精品影视| 亚洲日韩精品无码专区网站| 精品无码一区二区三区亚洲桃色| 成人午夜精品视频在线观看| 国产一精品一AV一免费| 久久久久久国产精品无码超碰| 日韩精品无码一本二本三本| 老司机亚洲精品影院无码| 精品一区二区三区波多野结衣 | 福利姬在线精品观看|