http://www.blogjava.net/willpower88/archive/2006/07/14/58189.html
在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;
}
}
/
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 ' ;
/
as language java name
' Hello.Message (java.lang.String) return java.lang.String ' ;
/
3 使用发面的JAVA程序
select
hello(
'
world!
'
)
from
dual;
HELLO( ' world! ' )
-- -------------
Hello world!
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;
}
}
/
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 ' ;
/
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
TEST( ' XX ' )
-- ------------------------------------------------------------------------------
2006 - 07 - 14 14 : 37 : 40.0
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8102208/viewspace-625074/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8102208/viewspace-625074/