文档详情

用oracle调用java的学习过程.docx

发布:2017-06-02约字共12页下载文档
文本预览下载声明
oracle调用java 检查JVM 前提是数据库上需要安装java虚拟机(JVM),使用下面的语句查看 select * from dba_registry where comp_id = JAVAVM 为空,则未安装,请执行 $ORACLE_HOME/javavm/install/initjvm.sql安装. 方法1,用SQL直接创建JAVA法 创建java程序 使用create or replace and compile java source named name as 后边跟上java源程序。要求类的方法必须是public static的,才能用于存储过程。 create or replace and compile java source named javademo1 as import java.sql.*; public class JavaDemo1 { public static void main(String[] argv) { System.out.println(hello, java demo1); } } 点击“执行”按钮, 检查创建结果 SELECT object_name, object_type, status FROM user_objects WHERE object_type LIKE JAVA%; 创建存储过程 创建一个存储过程调用JAVA类。 create or replace procedure javademo1 as language java name JavaDemo1.main(java.lang.String[]); 刷新后,可以看到存储过程已经创建: 测试存储过程 执行调用存储过程。 call dbms_java.set_output(5000); call javademo1(); 方法2,用LoadJava加载外部Java程序 创建一个测试表 创建一个测试表 -- Create table create table EMPLOYEE ( GRADE NUMBER, LOSAL NUMBER, HISAL NUMBER ) 创建Java程序 创建Java程序,注意不要有main函数。被调用的函数必须是静态static的。 import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { //Add a salgrade to the database. public static void addSalGrade(int grade, int losal, int hisal) { System.out.println(Creating new salgrade for EMPLOYEE...); try { Connection conn = DriverManager.getConnection(jdbc:default:connection:); String sql = INSERT INTO EMPLOYEE + (GRADE,LOSAL,HISAL) + VALUES(?,?,?); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1,grade); pstmt.setInt(2,losal); pstmt.setInt(3,hisal); pstmt.executeUpdate(); pstmt.close(); } catch(SQLException e) { System.err.println(ERROR! Adding Salgrade: + e.getMessage()); } } } 用loadjava命令加载 用loadjava命令加载,-user参数是数据库连接串。 loadjava -user ipis/1@IPIS -o -v -f -r OracleJavaProc.java 检查加载结果 SELECT object_name, object_type, status FROM user_objects WHERE object_t
显示全部
相似文档