隨筆-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 一凡 閱讀(1257) 評論(0)  編輯  收藏 所屬分類: DATABASE
          主站蜘蛛池模板: 姚安县| 宜州市| 忻城县| 离岛区| 五家渠市| 湄潭县| 藁城市| 谷城县| 山阴县| 合山市| 华宁县| 五华县| 宁明县| 临沭县| 嘉祥县| 黑龙江省| 望城县| 新民市| 潜山县| 定州市| 德阳市| 枣阳市| 林西县| 华蓥市| 顺昌县| 贺兰县| 江陵县| 喀喇沁旗| 喜德县| 平乡县| 石棉县| 轮台县| 兴国县| 钟山县| 星座| 南宫市| 庆安县| 常山县| 临湘市| 梅州市| 枣阳市|