隨筆-204  評論-90  文章-8  trackbacks-0

          在oracle中調用java程序
          一、helloWord
          1 編寫JAVA程序

          create ? or ? replace ? and ?compile?java?source?named?hello? as
          ?
          public ???class??Hello???{
          ????????static???
          public ??String?Message(String?name)???{
          ???????????
          return ???"?Hello,??"??? + ??name;
          ???????}?
          }?
          ?
          / ?

          2 發布JAVA程序

          create ? or ? replace ? function ?hello?(name? VARCHAR2 )?? return ?? VARCHAR2
          ?????
          as ?language?java?name
          ??????
          ' ?Hello.Message?(java.lang.String)?return?java.lang.String? ' ?;
          ?
          / ?

          3 使用發面的JAVA程序

          select ?hello( ' world! ' )? from ?dual;
          HELLO(
          ' world! ' )
          -- -------------
          Hello?world!

          ????
          二、在JAVA程序中使用SQL
          1 編寫JAVA程序

          create ? or ? replace ? and ?compile?java?source?named?test? as
          import?java.sql.
          * ;
          import?java.
          text .DateFormat;
          import?java.
          text .SimpleDateFormat;
          import?java.util.
          * ;
          import?java.util.Date;

          import?com.ccit.wcsmp.comm.vo.daovo.MBTResultVO;
          import?oracle.sql.ARRAY;
          import?oracle.sql.ArrayDescriptor;
          public ?class?Test
          {
          ??static?
          public ?String??message(String?name)?{
          ???????String?sql?
          = ?" select ?sysdate? as ?dd? from ?dual";
          ???????String?tmpStr?
          = ? null ;
          ???????PreparedStatement?pstmt?
          = ? null ;
          ???????ResultSet?rs?
          = ? null ;
          ???????Connection?conn
          = null ;
          ????????try
          ????????{
          ?????????????conn?
          = ?DriverManager.getConnection("jdbc: default :connection:");
          ?????????????pstmt?
          = ?conn.prepareStatement(sql);
          ?????????????rs?
          = ?pstmt.executeQuery();
          ?????????????
          ?????????????
          if (rs. next ())
          ??????????tmpStr?
          = ?rs.getString("dd");
          ????????
          else
          ??????????tmpStr?
          = ?name;
          ?????????}
          ????????catch(SQLException?e)
          ????????{
          ????????????System.err.println(e.getMessage());
          ????????}
          ????????finally
          ????????{
          ????????????try
          ????????????{
          ????????????????rs.
          close ();
          ????????????????pstmt.
          close ();
          ????????????????
          /* if((conn!=null)||!conn.isClosed())
          ????????????????????conn.close();
          */

          ????????????}
          ????????????catch(SQLException?e)
          ????????????{
          ????????????????System.err.println(e.getMessage());
          ????????????}
          ????????}
          ???????
          return ?tmpStr;
          ???}
          }
          /

          2 發布JAVA程序

          create ? or ? replace ? function ?test?(name? varchar2 )? return ? varchar2
          ?
          as ?language?java?name
          ' Test.message(java.lang.String)?return?java.lang.String ' ;
          /

          3 使用發面的JAVA程序

          ? select ??test(? ' ?xx? ' ?)?? from ??dual?;

          TEST(?
          ' ?XX? ' ?)
          ?
          -- ?------------------------------------------------------------------------------?
          ? 2006 ? - ? 07 ? - ? 14 ??? 14 ?:? 37 ?:? 40.0 ?
          posted on 2006-07-14 14:54 一凡 閱讀(1251) 評論(0)  編輯  收藏 所屬分類: DATABASE
          主站蜘蛛池模板: 汉源县| 米林县| 金平| 怀来县| 河北区| 吐鲁番市| 通河县| 固始县| 乌兰县| 乌拉特后旗| 万山特区| 丹阳市| 霍邱县| 丹巴县| 广南县| 彝良县| 高台县| 景东| 堆龙德庆县| 凤山县| 织金县| 万州区| 龙口市| 高碑店市| 阿尔山市| 旅游| 扶沟县| 中宁县| 忻城县| 玉龙| 胶南市| 康乐县| 郓城县| 大埔区| 涡阳县| 安陆市| 镇远县| 吴旗县| 恭城| 绥芬河市| 蒙城县|