转自哪里不知道了,抱歉.
--1.create java source
create or replace and compile java source named eeee as
import java.sql. * ;
import java. text .DateFormat;
import java. text .SimpleDateFormat;
import java.util. * ;
import java.util.Date;
import oracle.sql.ARRAY;
import oracle.sql.ArrayDescriptor;
public class EEEE
{
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
{
/* default
conn = DriverManager.getConnection("jdbc:default:connection:");
*/
/* thin */
conn = DriverManager.getConnection("jdbc:oracle:thin:user/pwd@127.0.0.1:1521:dbschema");
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.create function
create or replace function GET_EEEE (name varchar2 ) return varchar2
as language java name
' EEEE.message(java.lang.String) return java.lang.String ' ;
--3.use
select GET_EEEE('XX') from dual ;
注意:
数据库连接的区别:
1、不用加载oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver");
2、数据库连接与java不同,
conn = DriverManager.getConnection("jdbc:default:connection:");
conn = DriverManager.getConnection("jdbc:oracle:thin:CFG/CFG@127.0.0.1:1521:qycredit");