网站首页 > 技术文章 正文
HLS HLS/MD120
文档控制
1.1. 更改记录
1.2. 审阅记录
1.3. 分发人员
385326017.doc
Company Confidential – For BDLL & HAND use only
1
HLS HLS/MD120
目录
385326017.doc
文档控制 ................................................................................................................................... 1 1.1. 更改记录 .................................................................................................................. 1 1.2. 审阅记录 .................................................................................................................. 1 1.3. 分发人员 .................................................................................................................. 1 1.Java存储过程 ......................................................................................................................... 3 1.1 总体说明 ..................................................................................................................... 3 1.2 必要设置 ..................................................................................................................... 3 1.3 开发步骤 ..................................................................................................................... 4 1.4 JDBC与JAVA存储过程 .............................................................................................. 5 1.5 返回PLSQL集合变量 ................................................................................................. 7 1.6 发布程序工具-LoadJava ............................................................................................. 9 2.开发实例 .............................................................................................................................. 13 2.1 实例说明 ................................................................................................................... 13 2.2 创建JAVA程序 ......................................................................................................... 15 2.3 发布程序 ................................................................................................................... 19 已解决及未解决的问题 ......................................................................................................... 25 未解决的问题 .................................................................................................................. 25 已解决的问题 .................................................................................................................. 25 2
Company Confidential – For BDLL & HAND use only
HLS HLS/MD120
1.Java存储过程
1.1 总体说明
1.2 必要设置
385326017.doc
简述 JAVA 存储过程是以JAVA语言编写的在数据库服务器JVM上运行的JAVA 程序,调用使用方式与PL/SQL 存储过程类同。 利用Java存储过程沟通SQL、XML、Java、J2EE和Web服务。本文将介绍Oracle如何在数据库内启用基于Java的存储过程。还会介绍Java存储过程如何访问数据,以及如何创建基本Java存储过程,实现异构数据库之间的数据互访。 ORACLE JVM 任何JAVA应用程序的运行,都脱离不了JVM。 自Oracle8i版本1(Oralce8.1.5)开始,Oracle便提供紧密集成的Java虚拟机(JVM),JVM支持Oralce的数据库会话期结构,这使得在数据库内运行JAVA程序具有实际意义. Oracle 9i和10g版本的数据库为开发服务器端或内部Java程序组件提供了一个健壮的体系结构。它包括: 1) 操作系统的平台依赖性,例如UNIX、 LINUX、 Microsoft Windows; 2) 依赖Oracle数据库的文件和库管理; 3) 独立于平台的JVM (Java Virtual Machine,Oracle Java虚拟机); 4) Java内核类库,兼容不同的平台; 5) Oracle支持的Java API (Application Programming Interfaces,应用程序接口),如SQLJ、JDBC和JNDI; 6) Oracle的PL/SQL存储对象,为SQL和PL/SQL程序之间提供接口,就像服务器端Java类库一样。 JAVA程序的运行需要JVM,而各种复杂程序的开发则需要各种丰富的JAVA API,数据库提供了基本的扩展API,如ORACEL JDBC; 若要实现特定功能则组要装载特定JAR或者JAVA开源程序进入ORACLE DB.如本文实例的需要访问MS SQL SERVER数据库,此种情况则需要装载Micro SOFT官网上SQL SERVER JDBC程序JAR包。 对于JAVA PROCEDURE的开发主要前提是ORACLE DB必须安装ORACLE JVM,一般情况下属于必须安装选项; 1.检查Oracle JVM 以下查询产品安装情况 3
Company Confidential – For BDLL & HAND use only
HLS HLS/MD120
2.Oracle JVM配置
1) JAVA内存设置:必须设置ORACLE DB的JAVA内存参数
3.装载必要的外部JAR
开发JAVA存储过程实质为开发JAVA程序,除JDK包外,在实际开发过程中需要使用
LOADJAVA程序附加特定的外部JAR;
1.3 开发步骤
此节使用源码引自章节: Oracle Database Java Developer’s Guide-Java Stored Procedures Application Example
1.创建JAVA应用程序
可以使用IDE开发工具进行JAVA程序编写,如
JDeveloper;
开发的最终调用的JAVA方法必须为static类型方法.如
385326017.doc
Company Confidential – For BDLL & HAND use only 4
HLS HLS/MD120
2.发布Java程序到Oracle
完成的JAVA程序,要使之能在数据库运行,可以打包成JAR或者单纯的CLASS程序,通
过LOADJAVA命令装载到ORACEL DB,或者以CREATE JAVA语句创建;如:
注:发布JAVA代码到数据库,Jdeveloper有提供相关的功能可已直接将代码发布到
ORACLE DB.
3.PL/SQL”封装(wrappers)”JAVA
ORACLE DB中需要调用装载的JAVA程序,需用PL/SQL封装成存储过程形势;
编译之后将于普通PL/SQL 存储过程使用方式相同。
1.4 JDBC与JAVA存储过程
JAVA 存储过程一大作用就在于异构数据库系统间的数据集成,JDBC与JAVA 存储过
程的结合使用将此需求以一种新的方式实现。
385326017.doc
Company Confidential – For BDLL & HAND use only 5
HLS HLS/MD120
Java 数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。以下将主
要简单介绍ORACLE、DB2、MS SQL SERVER、MY SQL,SYBASE这些主流数据的JDBC连接。
1.SQL SERVER JDBC连接
通过以下代码获取数据库JDBC连接以访问数据库;
注意:在JAVA 存储过程中访问SQL SERVER数据库,必须把从数据库产品厂
商下载的JDBC工具包LoadJava装载进数据库,SQL SERVER JDBC工具包为
sqljdbc.jar;
2.其他常用DB的JDBC连接
其他常用DB的JDBC连接获取与以上代码无甚区别,各个DB连接的区别就在所使用的
JDBC驱动与连接符不同,这是由于它们所使用的JDBC是各自DB厂商开发的JDBC工具
包程序;
以下将列出这些DB所使用的
JDBC程序列表:
使用的JDBC相关信息:
注意:对于ORACLE DB服务端的JDBC连接的获取,由于DB服务端JDBC DRIVER在默认的
SESSION和上下文中运行,所以对于ORACLE DB的JDBC连接直接可以通过如下代码获
取:
385326017.doc
Company Confidential – For BDLL & HAND use only 6
对于学习有困难不知道如何提升自己可以加扣:578024144 进行交流得到帮助,获取学习资料
猜你喜欢
- 2024-11-06 Aloudata BIG 支持 Oracle/DB2 存储过程算子级血缘解析
- 2024-11-06 直播预告丨如何实现Oracle存储过程到java的一键转化
- 2024-11-06 Oracle job 定时执行 存储过程 oracle数据库job定时任务
- 2024-11-06 超实用的oracle分页存储过程案例分享
- 2024-11-06 Oracle存储过程和游标 oracle存储过程游标for循环例子
你 发表评论:
欢迎- 617℃几个Oracle空值处理函数 oracle处理null值的函数
- 610℃Oracle分析函数之Lag和Lead()使用
- 599℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 595℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 591℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 582℃【数据统计分析】详解Oracle分组函数之CUBE
- 572℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)