oracle inside(11)

将 JAVA 引擎加到 Oracle 数据库中是 Oracle8i 版本中最激动人心的功能之一。因此:
1) 将 JAVA 类和源代码装载到数据库中;
2) 在 PL/SQL 中调用 JAVA 代码;
3) 在 JAVA 中调用 PL/SQL 代码;
11.1 Oracle JAVA
1. Jserver:
由以下四部分组成:
1) JAVA 虚拟机(JVM)
2) JDBC 支持
3) SQLJ 运行支持
4) SQLJ 转换器
Oracle 公司的JVM的名称为Aurora,同时通过浏览新创建的Oracle8i数据库,将看到一个名为
AURORA$ORB$UNAUTHENTICATED 的用户,此用户用于到ORB的连接。
所有的JAVA组件都运行在与PL/SQL 相同的内存空间中,这使得它能够与数据库紧密的结合在一起。
Oracle 的Jserver完全是用C语言编写的,与SUN 公司的JAVA 1.1.6 兼容性包能很好的兼容。同时,
由于Jserver是在数据库服务器范围内运行,因此Oracle不支持GUI 库,任何试图在服务器上使用GUI界面
都将产生异常。
2. 组成结构图:
PL/SQL 高级编程
第 49 页 共 49 页
3. 配置系统环境变量:
1) 在WINNT 下的系统环境变量CLASSPATH中,将Oracle 数据库安装目录下的translator.zip加
入到环境变量中。例如:
D:/Oracle817/sqlj/lib/translator.zip
4. 装载JAVA类:
loadjava {-user|-u} username/password[@database]
[-option [-option...]] filename [filename...];
参数说明:
1) {-user|-u} username/password[@database] 指定了数据库的用户名称和密码,JAVA将被
装载到此用户中。
2) [-option [-option...]] 的选项有:
① {andresove|a} 编辑源文件并在装载每个类时解析它,通常不使用。
② debug 产生调试信息。
③ {definer|d} 规定使用定义者的权限执行此类;否则使用调用者的执行权限。
④ {encodeing|e} 指定一种标准的JDK解码 模式,该解码模式必须与文件中使用的解码模式匹
配。默认值为latin1
⑤ {force|f} 强行装载JAVA 类,即使以前装载过。
⑥ {grant|g} {usename|rolename}[{usename|rolename}...] 将执行被装载的类的权限
授予给列出的用户和角色。
⑦ {help|h} 产生简短的屏幕帮助,以解释所有这些选项。
⑧ {oci8|O} 指出loadjava在与Oracle通信时使用基于Oracle调用接口(OCI)的JDBC驱动程
序(对应于瘦驱动程序)。
⑨ Oracleresolver 解析对象引用的方式首先在用户的模式中查找,然后考虑公有对象。
⑩ {resolve|r} 为装载的类解析所有的外部引用。否则直到运行时才解析。
(11).{resolve|R} 允许指定自己的解析器范围,控制如何解析其他对象的引用。
(12).{schema|S} 将对象装载到指定的模式中。默认情况下,对象被装载到用户自己的模式中。
(13).{synonym|s} 创建被装载的类的同义词。必须要有此权限。
GRANT CREATE ANY SYNONYM TO SCOTT;
(14).{thin|t} 指出javaload 使用瘦JDBC驱动程序与数据库相连。
(15).{verbose|v} 让loadjava 在装载文件时显示进度信息。
3) filename:
可以是以下的扩展名称: JAVA类文件(.class)、
JAVA源文件(.java)、SQL文件(.sql)。
注意:可以同时加载多个文件。
5. 删除装载的JAVA类:
dropjava {-user|-u} username/password[@database]
[-option [-option...]] filename [filename...];
参数说明:
1) {-user|-u} username/password[@database] 指定了数据库的用户名称和密码,JAVA将被
从此用户中删除。
2) [-option [-option...]] 的选项有:
① {help|h} 产生简短的屏幕帮助,以解释所有这些选项。
② {oci8|O} 指出loadjava在与Oracle通信时使用基于Oracle调用接口(OCI)的JDBC驱动程
序(对应于瘦驱动程序)。
PL/SQL 高级编程
第 50 页 共 50 页
③ {schema|S} 将对象装载到指定的模式中。默认情况下,对象被装载到用户自己的模式中。
④ {thin|t} 指出javaload 使用瘦JDBC驱动程序与数据库相连。
⑤ {verbose|v} 让loadjava 在装载文件时显示进度信息。
3) filename:
可以是以下的扩展名称: JAVA类文件(.class)、
JAVA源文件(.java)、SQL文件(.sql)。
注意:可以同时删除多个文件,但文件原位置保持不变,仅从数据库中删除。
11.2 装载、应用、删除JAVA
原文地址:https://www.cnblogs.com/Mayvar/p/wanghonghua_201108021118.html