Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2290447
  • 博文数量: 266
  • 博客积分: 5485
  • 博客等级: 大校
  • 技术积分: 3695
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-20 11:05
个人简介

多读书,多做事,广交朋友,趣味丛生

文章分类

全部博文(266)

分类: Java

2007-09-23 21:04:54

   花了两个多小时的时间,我学会在ORACLE 9i数据库中加载JAVA类文件,最后能够成功感觉还是很不容易
的,但成功后的兴奋让我忘记了遇到困难时的难耐无助...
   总结一下,一共有两个收获:其一,ORACLE 9i数据库只支持JDK1.3版本,其他版本会出现很多问题;其
二,环境变量要设置好,除了JDK,还要设置好ORACLE的相关配置;其三,也就是我花了大部分时间研究
的问题——很多地方讲到用命令行调用loadjava来加载JAVA类文件,可在9i中我试验了很久也不好用,所
以我就换了方法,通过包含于DBMS_JAVA类中的loadjava()方法调用来加载类文件,结果终于成功了!!
!最后成果与大家分享,愿大家也能提出些意见,以便以后改进...具体过程如下:
NOTICE:这里我将编译好的Hello.class放在了oracle主目录下的plsql文件夹中并又新建了一个名为jlib
的文件夹,故类文件目录为:F:\oracle\plsql\jlib
1.把编译过的Hello.class加载到数据库
execute dbms_java.loadjava('-resolve -verbose plsql/jlib/Hello.class');

2.查询USER_OBJECTS视图,则可以看到新加载的类文件
col name format a40
select dbms_java.longname(object_name) name,object_type type,status
from user_objects
where object_type like 'JAVA%'
3.创建叫做hello的一个过程,简单地包装被加载的java类方法(包装器必须指定static方法,但它可以
是任何static方法)
CREATE OR REPLACE PROCEDURE hello
AS LANGUAGE JAVA
NAME 'Hello.world()';
/
注:一个类完全有理由有多个入口点,每个入口点都是static方法,拥有自己的PL/SQL过程包装器
4.使程序输出结果显示在屏幕上
set serveroutput on size 5000
call dbms_java.set_output(5000);
5.执行过程,观看显示结果
execute hello;
 
终于成功了,哈哈...
阅读(2151) | 评论(0) | 转发(0) |
0

上一篇:时钟5

下一篇:Ubuntu讲谈

给主人留下些什么吧!~~