<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java中調用Oracle包的過程

    時間:2024-06-27 21:21:55 Oracle認證 我要投稿
    • 相關推薦

    Java中調用Oracle包的過程

      在Java中調用Oracle包是我們程序員經常遇到的事情,那么它具體的過程是怎么樣的呢?我們一起來看看!

      一、先在oracle中編寫測試過程

      1、首選建一個測試表

      -- 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、編寫ORACLE測試過程

      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;

      /

      在這里我們建立了一個輸入參數,為普通類型,兩個輸出參數,其中一個為普通VARCHAR2型,另一個為特殊的記錄集類型。

      (注:在數據庫端測試一下這個過程,以確保沒有問題,開始下面的操作~:)

      二、編寫JAVA代碼測試過程

      /*

      * 創建日期: 2003-8-8

      */

      package JDBC;

      /**

      * 作者:may

      * 時間: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"); //輸入參數

      stmt.registerOutParameter(2,Types.CHAR); //輸出參數為普通參數

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

      stmt.executeQuery();

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

      ResultSetMetaData rsmd = rs.getMetaData();

      int numberOfColumns = rsmd.getColumnCount();

      String str = stmt.getString(2);

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

      System.out.println("結果集列數"+numberOfColumns);

      //列出結果集中的記錄

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

      }

      return rs;

      }

      }

      輸出結果為:

      第二個參數為:Hello,may~

      結果集列數4

      BOOKID BOOKNAME PUBLISHER PRICE

      001-22-23-1 jsp 應用開發詳解 電子工業出版社 123

      123 uml參考手冊 機械工業出版社 34

    主站蜘蛛池模板: 亚洲国产精品一区| 久久精品亚洲男人的天堂| 亚洲国产精品热久久| 少妇精品无码一区二区三区| 国产精品香蕉在线观看| 国产产无码乱码精品久久鸭| 亚洲欧洲精品成人久久曰影片| 中文字幕亚洲综合精品一区| 国产精品区免费视频| 中文字幕一精品亚洲无线一区 | 亚洲人成亚洲精品| 婷婷精品国产亚洲AV麻豆不片| 久久久人妻精品无码一区| 亚洲国产精品lv| 国产精品一二二区| 99re久久精品国产首页2020| 久久亚洲精品成人av无码网站| 亚洲乱码日产精品a级毛片久久| 久久93精品国产91久久综合| 99热成人精品免费久久| 亚洲精品欧美综合在线| 国产精品一二区| 97精品一区二区视频在线观看| 无码国产69精品久久久久网站| 人妻一区二区三区无码精品一区| 成人精品一区二区三区免费看| 国产一区二区精品久久| 99热亚洲色精品国产88| 国内精品伊人久久久久av一坑| 亚洲AV无码成人网站久久精品大 | 亚洲午夜成人精品电影在线观看| 国产乱码精品一区二区三| 99热成人精品国产免男男| 93精91精品国产综合久久香蕉| 奇米精品一区二区三区在线观看| 国产精品青草久久久久婷婷| 99re国产精品视频首页| 极品精品国产超清自在线观看| 国产精品久久久久…| 99re这里只有精品国产精品| 国产精品久久精品|