Oracle调用JAVA程序

在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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值