首页>参考读物>计算机科学与技术>数据库

Oracle 8i SQLJ编程指南
作者 : Nirva Morisseau-Leroy Martin K.Solomon Gerald P.Momplaisir
译者 : 刘谦 苏建平
丛书名 : Oracle技术丛书
出版日期 : 2000-06-01
ISBN : 7-111-08029-7
定价 : 48.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 342
开本 : 16开
原书名 : Oracle 8i SQL J Programming
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

SQLJ适荗racle公司的新产品,它已成为ANSI/ISO所承认的工业标准,并得到所有主要数据库提供商的支持。本书是一本掌握SQLJ编程的工具书,它介绍了SQLJ的重要性和如何开始建造SQLJ应用程序,并提供了有关SQLJ编程内核的背景知识,其中包括怎样将SQL、PL/SQL、Java和JDBC结合起来等内容。本书还列举了一些编程示例,涉及到服务端的SQLJ编程、将SQLJ与Oracle数据库的对象-关系型特性相结合和用SQLJ进行分布式系统开发。本书是学习使用SQLJ和Oracle8i JServer的不可缺少的工具之一。

图书前言

前   言
本书的重点在于开发由SQLJ和Java写成的数据库应用程序,虽然本书的实例是设计成在Oracle7.xx或以上版本上运行的,但是只需细微改动,也可将它运行于任何其他基于SQL的系统,也就是就任何“纯”关系型或对象-关系型数据库管理系统(DBMS)。
数据库模式
在本书第二和第三部分中,将开发一个操纵“纯”关系型数据库的SQLJ程序,即一个名为“采购订单”模式的财务数据库模式、“采购订单”关系数据库模式是《Design of a Financial Administrative System Using the Semantic Binary Model》一文中所展示的数据库设计中的一部分。在第三部分,将要开发一个操纵对象-关系型数据库的SQLJ程序,即一个名为“观测”模式的科学数据库模式。“观测”这一对象-关系型数据库模式是《Atmospheric Observations, Analyses, and the World Wide Web Using a Semantic Database》一文中所展示的科学数据库设计的一部分。
“采购订单”数据库模式和“观测”数据库模式是应位于佛罗里达州迈阿密的大西洋海洋地理及气象实验室(Atlantic Oceangraphic and Meteorological Laboratory,AOML)的要求为其设计的。这是隶属于美国商务部的国家海洋及大气局(National Oceanic and Atmospheric Administration, NOAA)的一个环境研究实验室(Environmental Research Laboratory,ERL),值得一提的是,“观测”模式是为AOML的飓风研究室(Hurricane Research Division,HRD)所设计的,目前已由HRD实现并成为H*WIND系统的一部分,为国家飓风中心(National Hurricane Center, NHC)的预报员和NHC的FEMA飓风组提供实时洋面风速分析。
创建采购订单数据库模式的SQL脚本
使用下面的createposchema.sql中的SQL脚本创建Oracle8i数据库中的采购订单数据库模式。
使用下面代码为采购订单数据库模式创建约束:

图书序言

科 瑞 恩 序
随着Internet和电子商务的飞速发展,正在开发之中的新一代企业应用程序试图通过Internet吸引及抓住市场中的客户、通过Web销售其产品,并将供货方与合作伙伴连接到一起以便更迅速地为客户提供产品及服务,从而提高效率。这种新一代的企业应用程序必须设计成适用于Internet体系结构,即百分之百遵从Internet标准,可用于高伸缩性的服务器和可被标准Internet浏览器所访问。
Java由于其强大的功能、可移植性和高效率而成为开发新一代企业应用程序的主要语言,这是仅有的为Internet而设计的先进和面向对象的编程语言。要用Java开发企业应用程序,应用程序开发者需要两个条件,运行Java的高度可伸缩的服务器环境和在Java和SQL之间的简单而易于实现的编程连接,世界上绝大多数数据都是以SQL定义和存储的。
Oracle觉察到了Internet计算模型的出现和这两种基本的需求并做出了重大的战略投资:Oracle8i JServer和SQLJ。Oracle8i JServer提供给开发者一个业界可伸缩性最强的、高使用率的和高性能的Java服务器环境,它直接面向Oracle8i—Oracle的Internet数据库,设计了一个高度专用的Java虚拟机。JServer完全遵从Java标准,从而能够支持上千个并行的客户,其硬件配置可在很广的范围内变化(高可伸缩性)。
Oracle的另一个投资就是SQLJ,或称嵌入式SQL的Java。它提供了用Java建造数据库应用程序的最简单和最优雅的方式。作为一个为ANSI/ISO标准化组织所接受的和为所有的主要数据库提供商所支持的工业标准,SQLJ提供方便的方法来建造各种各样类型的应用程序—数据库存储过程、触发器、Enterprise JavaBeans、CORBA服务甚至applet。SQLJ被设计为比JDBC更易于使用、更完善的语言,也可以将两者结合起来开发应用程序。在Oracle对SQLJ的全面支持之下,可以快速而有效地开发Java与Oracle数据库结合的应用程序并在Internet上使用。
由Nirva Morisseau-Leroy、Martin K. Solomon和Gerald P.Momplaisir所编写的这本《Oracle8i SQLJ Programming》,是掌握SQLJ编程的工具书。它以介绍SQLJ的重要性和怎样着手建造SQLJ应用程序开始,提供了SQLJ编程的内核的背景知识,其中包括怎样将SQL、PL/SQL、Java和JDBC结合起来等内容。最后,本书提供一系列精心编制的高级编程内容,涉及到服务器端SQLJ编程、将SQLJ与Oracle数据库的对象-关系型特性相结合和用SQLJ进行分布式系统开发。后者涉及到远程方法调用(Remote Method Invocation,RMI)、CORBA服务和Enterprise JavaBeans。
我非常欣赏本书的实用性,它展示给读者的是所有的技术内容和大量的关于怎样利用SQLJ开发一个真正的应用程序的实例。我对本书的出版感到非常的兴奋,我相信读者将发现这是一本学习使用SQLJ和Oracle8i JServer的不可或缺的工具之一。
托马斯·科瑞恩
Oracle公司电子商务副总裁

作者简介

Nirva Morisseau-Leroy Martin K.Solomon Gerald P.Momplaisir:暂无简介

译者简介

刘谦 苏建平:暂无简介

图书目录

目   录贺辞序译者序科瑞恩序前言第一部分  Oracle8i SQLJ基础第1章  Oracle8i SQLJ介绍 11.1  Java语言与Internet数据库处理的关系 21.2  Java与Oracle8i数据库服务器的紧密集成 31.3  Java中的静态嵌入式SQL模型:SQLJ 51.3.1  动态SQL 61.3.2  静态嵌入式SQL 71.3.3  SQLJ概述 71.3.4  SQLJ与JDBC的比较 161.4  在胖、瘦客户端及服务器端使用SQLJ 171.4.1  胖客户端应用程序 171.4.2  瘦客户端应用程序 181.4.3  服务器端应用程序 191.5  其他嵌入式SQL与SQLJ的比较 19第2章  SQLJ程序开发 212.1  在SQLJ程序中执行非SELECT 的  SQL语句 212.1.1  连接数据库 212.1.2  不返回结果的SQLJ可执行语句 232.1.3  SQLJ 装入程序:      LoadAccountList.sqlj 232.1.4  翻译和运行程序   LoadAccountList.sqlj 282.2  在SQLJ程序中使用命名迭代器执行  SELECT语句 282.2.1  命名迭代器处理步骤 282.2.2  使用命名迭代器的SQLJ检索程序:   AcctsForProjs.sqlj 302.3  在SQLJ程序中使用定位迭代器执行  SELECT语句 342.3.1  命名迭代器和定位迭代器的差别 342.3.2  一个用定位迭代器的SQLJ检索程序:AcctsForPorjs2.sqlj 352.4  SQLJ翻译过程 392.5  sqlj 命令行选项和属性文件 402.5.1  sqlj 命令行选项 402.5.2  用属性文件指定SQLJ选项 41第3章  SQLJ 基本程序设计 443.1  不带结果表达式的SQLJ语句:SQLJDDL 和非SELECT的DML 命令 443.1.1  SQLJ DDL 命令 453.1.2  SQLJ DML 命令 453.2  没有结果表达式的SQLJ可执行语句:  SQLJ事务控制命令 523.2.1  auto-commit 523.2.2  SET TRANSACTION 语句 533.3  没有结果表达式的可执行SQLJ语句:  匿名PL/SQL块和存储过程调用 543.3.1  匿名PL/SQL块 543.3.2  存储过程调用 553.4  没有结果表达式的可执行SQLJ语句:  SET、FETCH和SELECT INTO 语句 563.4.1  SET语句 563.4.2  SELECT INTO 语句 573.4.3  FETCH语句 573.5  有结果表达式的可执行SQLJ语句:  SELECT语句 583.5.1  迭代器声明的语法 583.5.2  查询子句的语法 613.5.3  SQLJ检索程序:AcctsForProjs3.sqlj 623.5.4  用嵌套游标输出填充迭代器 663.5.5  SQLJ对ref cursor类型的支持 733.6  带有结果表达式的可执行SQLJ语句:  存储函数调用 753.7  宿主表达式和结果表达式在运行时的  求值 763.8  JDBC和SQLJ异常类 763.9  其他有用的JDBC和SQLJ类 77第二部分  用于关系型数据处理的高级SQLJ第4章  开发SQLJ存储程序和触发器 794.1  开发客户端的SQLJ存储子程序 794.1.1  编写服务器端应用程序的注意事项 804.1.2  Emplnsert.sqlj:服务器端应用程序   示例 814.1.3  客户端SQLJ源文件的翻译 834.1.4  把类和资源装入服务器 834.1.5  检查模式对象是否已装入服务器 844.1.6  为存储子程序创建顶层SQL包装 844.1.7  FuncTest.sqlj:调用存储子程序的   简单应用程序 874.1.8  开发步骤的总结 884.2  在PL/SQL包中创建SQL存储子程序包装 894.3  从SQL语句和PL/SQL块中调用SQLJ    存储子程序 944.3.1  从PL/SQL块中调用存储子程序 944.3.2  用SQL DML命令调用存储函数 944.3.3  用SQL的 CALL语句调用存储过程 954.4  在Oracle8i服务器中装入并翻译    SQLJ源文件 1004.4.1  SQLJ服务器翻译器支持的选项 1014.4.2  设置服务器翻译器的选项 1014.4.3  服务器翻译器和loadjava产生的   输出 1014.4.4  SQLJ服务器翻译器的错误输出 1014.5  实用程序dropjava 1014.6  对比用SQLJ和用PL/SQL实现存储子程序的优缺点 102第5章  高级SQLJ的使用 1045.1  使用SQLJ连接环境类建立数据库连接 1045.2  使用SQLJ DefaultContext类 1075.3  用SQLJ管理多数据库连接 1135.4  SQLJ应用 1215.5  SQLJ 胖客户端应用 1225.6  在应用服务器中使用SQLJ 1225.7  SQLJ瘦客户 1235.8  在Java应用中使用SQLJ 1235.9  在Java applet中使用SQLJ 1275.10  SQLJ applet 1305.11  在Oracle8i 数据服务器中使用SQLJ:   SQLJ存储过程 132第6章  SQLJ高级特性 1376.1  SQLJ流 1376.2  通过流类将数据存放到数据库中 1386.2.1  把文件存入数据库 1386.2.2  按流从数据库中检索数据 1416.2.3  从数据库中提取存储的文件 1426.3  LOB-大型对象 1456.3.1  把文件装入BLOB列 1466.3.2  从BLOB列提取数据并写入磁盘 1476.3.3  在SQLJ中使用DBMS_LOB       Oracle 包 1516.3.4  在SQLJ中使用BFILE 1526.4  多线程 1556.4.1  使用SQLJ的多线程 1556.4.2  多线程与运行环境 1556.4.3  SQLJ应用与多线程 1566.5  SQLJ和JDBC的互操作性 1586.5.1  将JDBC连接转换为SQLJ连接 1596.5.2  把SQLJ连接转换为JDBC 连接 1616.5.3  共享和关闭连接 1626.5.4  SQLJ迭代器和JDBC结果集的互操作性 162第三部分  SQLJ和对象的使用第7章  使用SQLJ进行对象-关系型数据处理 1677.1  Oracle8i 用户定义的SQL对象类型 1677.1.1  创建对象类型和对象表 1687.1.2  对象表的插入语句 1707.1.3  对象表的SELECT和UPDATE语句 1717.2  在SQLJ中处理SQL对象类型 1727.2.1  使用JPublisher为用户定义的类型   创建Java自定义类 1727.2.2  用于对象类型和引用类型的Java      自定义类方法 1747.2.3  ObjectTypes.sqlj:处理包含用户定义的SQL对象类型表的SQLJ程序 1757.2.4  带有SQL对象类型参数和返回值的SQLJ存储子程序 1817.3  Oracle8i 用户定义的SQL集合类型 1837.4  在SQLJ中处理SQL集合类型 187第8章  SQLJ商业和科学对象 2008.1  分布式计算系统的基本概念 2008.2  设计和开发SQLJ基于组件的对象 2028.2.1  什么是组件 2038.2.2  什么是组件模型 2038.2.3  开发SQLJ组件 2048.3  使用Java远程方法调用SQLJ组件 2168.3.1  什么是RMI 2168.3.2  RMI对象组成 2168.3.3  开发RMI对象 2178.4  使用SQLJ实现的Enterprise JavaBeans对象 2268.4.1  什么是Enterprise JavaBeans 2268.4.2  Enterprise JavaBeans的角色 2278.4.3  Enterprise JavaBeans的类型 2278.4.4  Enterprise JavaBeans对象合成 2288.4.5  开发企业会话Bean应用 2298.5  通过SQLJ的实现使用CORBA对象 2408.5.1  什么是CORBA 2418.5.2  CORBA对象合成 2428.5.3  开发CORBA对象 243第四部分  有效使用SQLJ第9章  SQLJ应用:性能优化 2539.1  扩展ConnectionManager类 2539.2  开发高效SQLJ程序 2579.2.1 改善性能 2579.2.2  SQLJ的行预取 2589.3  用Oracle优化器优化SQLJ语句 2639.4  减少网络流量的其他方法 263第10章  Oracle8i开发工具综述 26510.1  Oracle 因特网开发工具简介 26510.1.1  Oracle Designer 工具 26510.1.2  Oracle WebDB 26610.1.3  Oracle JDeveloper 26610.2  使用JDeveloper开发SQLJ应用 267第五部分  附录附录A  Oracle SQL基础 281附录B  Java 简介 301附录C  JDBC简介 318附录D  SQLJ快速参考指南 324译 者 序众所周知,Java由于其强大的功能、可移植性和效率高而成为开发Internet应用程序的主要语言,而且它是仅有的为Internet而设计的先进的且面向对象的编程语言。SQL是用于访问关系数据库数据的非过程化语言,虽然SQL提供了方便而又灵活的访问数据库的方法,但对访问到的数据却缺乏任何对其进行计算及演示的过程化手段。为此,关系数据库厂商开发了一些能够使开发者将SQL嵌入到程序设计语言中去的产品。例如,Oracle Pro* 系列产品可用来将SQL嵌入到C、COBOL、ADA及FORTRAN等编程语言中。SQLJ就是这样的一种产品,它允许开发者将SQL语句嵌入到Java中。SQLJ已成为ANSI/ISO所承认的工业标准,并得到所有的主要数据库提供商的支持。在Oracle对SQLJ的全面支持之下,可以快速而有效地开发Java与Oracle数据库结合的应用程序并在Internet上使用。本书是学习及掌握SQLJ编程的工具书。它以介绍SQLJ的概念和怎样建造SQLJ应用程序开始,提供了SQLJ编程的内核部分,其中包括怎样将SQL、PL/SQL、Java和JDBC结合起来等内容。最后,本书提供一系列精心编制的示例以介绍高级编程技术。本书由刘谦、苏建平组织翻译。参加本书翻译、录排、审校的还有:刘丽、赵芳、李英国、傅守义、林凡、肖燕宇、卢红、荀艳芳、贺耀东、赵大同、张建军等。由于时间仓促,水平有限,译文中如有不妥之处,敬请读者批评指正!译  者2000年3月28日

教学资源推荐
作者: Nello Cristianini John Shawe-Taylor
作者: W.H.Inmon
作者: 方粮 编著
作者: (美) Pang-Ning Tan , Michael Steinbach , Vipin Kumar  著
参考读物推荐
作者: (美)Scott Urman
作者: 周启海 张维 黄肖榕 黄娟禧
作者: (美)Craig Shallahamer 著