在oracle中调用java程序 (转)

http://www.blogjava.net/willpower88/archive/2006/07/14/58189.html

在oracle中调用java程序
一、helloWord
1 编写JAVA程序

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

2 发布JAVA程序

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

3 使用发面的JAVA程序

None.gif select  hello( ' world! ' from  dual;
None.gifHELLO(
' world! ' )
None.gif
-- -------------
None.gif
Hello world!
None.gif

    
二、在JAVA程序中使用SQL
1 编写JAVA程序

None.gif create   or   replace   and  compile java source named test  as
None.gifimport java.sql.
* ;
None.gifimport java.
text .DateFormat;
None.gifimport java.
text .SimpleDateFormat;
None.gifimport java.util.
* ;
None.gifimport java.util.Date;
None.gif
None.gifimport com.ccit.wcsmp.comm.vo.daovo.MBTResultVO;
None.gifimport oracle.sql.ARRAY;
None.gifimport oracle.sql.ArrayDescriptor;
None.gif
public  class Test
None.gif{
None.gif  static 
public  String  message(String name) {
None.gif       String sql 
=  " select  sysdate  as  dd  from  dual";
None.gif       String tmpStr 
=   null ;
None.gif       PreparedStatement pstmt 
=   null ;
None.gif       ResultSet rs 
=   null ;
None.gif       Connection conn
= null ;
None.gif        try
None.gif        {
None.gif             conn 
=  DriverManager.getConnection("jdbc: default :connection:");
None.gif             pstmt 
=  conn.prepareStatement(sql);
None.gif             rs 
=  pstmt.executeQuery();
None.gif             
None.gif             
if (rs. next ())
None.gif          tmpStr 
=  rs.getString("dd");
None.gif        
else
None.gif          tmpStr 
=  name;
None.gif         }
None.gif        catch(SQLException e)
None.gif        {
None.gif            System.err.println(e.getMessage());
None.gif        }
None.gif        finally
None.gif        {
None.gif            try
None.gif            {
None.gif                rs.
close ();
None.gif                pstmt.
close ();
ExpandedBlockStart.gifContractedBlock.gif                
/**/ /* if((conn!=null)||!conn.isClosed())
ExpandedBlockEnd.gif                    conn.close();
*/

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

2 发布JAVA程序

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

3 使用发面的JAVA程序

None.gif   select   test(  '  xx  '  )   from   dual ;
None.gif
None.gifTEST( 
'  XX  '  )
None.gif 
--  ------------------------------------------------------------------------------ 
None.gif
  2006   -   07   -   14     14  :  37  :  40.0  

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8102208/viewspace-625074/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8102208/viewspace-625074/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值