书籍详情
Oracle9i SQLJ程序设计
作者:(美)Nirva Morisseau-Leroy,(美)Martin K.Solomon,(美)Gerald P.Momplaisir著;田蕴哲[等]译;田蕴哲译
出版社:机械工业出版社
出版时间:2002-01-01
ISBN:9787111088110
定价:¥66.00
购买这本书可以去
内容简介
本书内容全面,除介绍SOLJ基本原理外,还深入介绍动态SOL、各种迭代器和上下文、SOL特性、Java编程模型特性(包括应用程序、apple、RMI的使用CPRBA、EJB、JSP、Java存储过程)以及各种基本的OracleJava工具等。本书实用性强,除展示技术内容外,还提供了大量的利用SOLJ开发应用程序的实例。本书是一本学习使用SOLJ和OracleJVM的不可或缺的工具指南。本书前言本书中文简体字版由美国格劳-希尔教育出版公司授权机械工业出版社出版社出版,未经出版者预先书面许可,不得以任何方式复制或抄袭本书的任何部分。特色及评论文章节选
作者简介
暂缺《Oracle9i SQLJ程序设计》作者简介
目录
译者序
序1
序2
前言
第一部分 Oracle9i SQLJ基础
第1章 Oracle9i SQLJ介绍
1.1 Java语言与Internet上数据库处理之间的关系
1.2 Java和Oracle9i数据库服务器的紧密集成
1.2.1 Oracle JVM概述
1.2.2 Oracle JVM的主要组件
1.3 Java的静态和动态嵌入式SQL模型:SQLJ
1.3.1 动态SQL
1.3.2 静态嵌入式SQL
1.3.3 SQLJ概述
1.3.4 SQLJ与JDBC的比较
1.4 在胖、瘦客户机端和服务器端部署SQLJ
1.4.1 胖客户机应用程序
1.4.2 瘦客户机应用程序
1.4.3 服务器端应用程序
1.5 其他嵌入式SQL(如PL/SQL 和Pro*C)与SQLJ的比较
第2章 SQLJ程序开发
2.1 从SQLJ程序中执行非SELECT的SQL语句
2.1.1 连接数据库
2.1.2 不返回结果的SQLJ可执行语句
2.1.3 SQLJ加载程序:LoadAccountList.sqlj
2.1.4 翻译和执行LoadAccountList.sqlj程序
2.2 借助于命名迭代器从SQLJ程序中执行SELECT语句
2.2.1 命名迭代器处理
2.2.2 一个使用命名迭代器的SQLJ检索程序:AcctsForProjs.sqlj
2.3 借助于位置迭代器执行SQLJ程序中的SELECT语句
2.3.1 命名迭代器与位置迭代器之间的区别
2.3.2 一个使用位置迭代器的SQLJ检索程序:AcctsForProjs2.sqlj
2.4 SQLJ翻译过程
2.5 sqlj命令行选项和属性文件
2.5.1 sqlj命令行选项
2.5.2 用属性文件指定SQLJ选项
第3章 SQLJ基本程序设计
3.1 不带结果表达式的可执行SQLJ语句:SQLJ DDL和非SELECT的 DML命令
3.1.1 SQLJ DDL命令
3.1.2 SQLJ DML命令
3.2 不带结果表达式的可执行SQLJ语句:SQLJ事务控制命令
3.2.1 自动提交标志
3.2.2 SET TRANSACTION语句
3.3 不带结果表达式的可执行SQLJ语句:匿名PL/SQL块和存储过程调用
3.3.1 匿名PL/SQL块
3.3.2 存储过程调用
3.4 不带结果表达式的可执行SQLJ语句:SET、FETCH和SELECT INTO语句
3.4.1 SET语句
3.4.2 SELECT INTO语句
3.4.3 FETCH语句
3.4.4 endFetch()方法
3.5 带有结果表达式的可执行SQLJ语句:SELECT语句
3.5.1 迭代器声明的语法
3.5.2 查询子句的语法
3.5.3 SQLJ检索程序:UsingNamedAndPositionalIter.sqlj
3.5.4 用嵌套游标输出填充迭代器
3.5.5 SQLJ对REF CURSOR类型的支持
3.6 带有结果表达式的可执行SQLJ语句:存储函数调用
3.7 运行时计算宿主表达式和结果表达式
3.8 JDBC和SQLJ异常类
3.9 其他有用的JDBC和SQLJ类
第二部分 用于关系型数据处理的高级SQLJ
第4章 开发SQLJ存储程序和触发器
4.1 客户端SQLJ存储程序的开发
4.1.1 Oracle服务器端JDBC驱动程序概述
4.1.2 编写服务器端SQLJ应用程序的注意事项
4.1.3 EmpInsert.sqlj:服务器端应用程序示例
4.1.4 在客户端翻译SQLJ源文件
4.1.5 把类和资源装入服务器
4.1.6 检查模式对象是否已经被装入服务器
4.1.7 用PL/SQL创建存储过程的调用规范
4.1.8 FuncTest.sqlj:一个调用存储子程序的简单应用程序
4.1.9 开发步骤总结
4.2 在PL/SQL包中创建调用规范
4.3 从SQL语句和PL/SQL块中调用SQLJ存储子程序
4.3.1 从PL/SQL块中调用存储子程序
4.3.2 从SQL DML命令中调用存储函数
4.3.3 用SQL CALL语句调用存储过程
4.4 在Oracle8i/9i 服务器中装入并翻译SQLJ源文件
4.4.1 SQLJ服务器翻译器所支持的选项
4.4.2 设置服务器翻译器的选项
4.4.3 服务器翻译器和loadjava产生的输出
4.4.4 服务器翻译器的错误输出
4.5 实用程序dropjava
4.6 用SQLJ和用PL/SQL实现存储子程序的优缺点对比
第5章 SQLJ高级部署
5.1 使用SQLJ连接上下文建立数据库连接
5.1.1 连接上下文的语义检查
5.1.2 SQLJ implements子句
5.1.3 SQLJ with子句
5.1.4 DataSource支持
5.2 SQLJ可执行语句中执行上下文与连接上下文的关系
5.3 使用SQLJ DefaultContext类
5.3.1 将数据源和默认上下文关联
5.3.2 UsingSqljDefaultContext.sqlj程序
5.4 用SQLJ管理多个数据库连接
5.5 部署SQLJ应用程序
5.6 部署SQLJ胖客户端
5.7 在应用服务器(中间层)中部署SQLJ
5.8 部署SQLJ瘦客户端
5.9 在Java应用程序中部署SQLJ
5.10 在Java applet中部署SQLJ
5.11 部署SQLJ applet
5.12 在Oracle8i/9i 数据服务器中部署SQLJ:SQLJ存储过程
5.13 在Oracle9i AS中部署SQLJ
5.13.1 使用SQLJ应用程序的Java servlet
5.13.2 使用SQLJ应用程序的JSP
5.14 在SQLJ程序中使用DataSource
第6章 SQLJ高级功能
6.1 声明和使用ResultSetIterator迭代器
6.2 声明和使用可滚动SQLJ迭代器
6.2.1 Scrollable接口
6.2.2 可滚动迭代器的敏感性
6.3 声明和使用可滚动命名迭代器
6.4 声明和使用可滚动位置迭代器
6.5 声明和使用ScrollableResultSetIterator迭代器
6.6 在SQLJ中使用嵌入式动态SQL
6.6.1 元绑定表达式
6.6.2 使用Java绑定表达式
6.6.3 使用SQL替换代码
6.6.4 在翻译时对Java绑定表达式进行求值
6.6.5 Java绑定表达式运行时的求值
6.6.6 使用元绑定表达式
6.6.7 元绑定表达式的约束
第7章 SQLJ高级特性
7.1 SQLJ流
7.2 用流向数据库发送数据
7.2.1 把文件存入数据库
7.2.2 用流从数据库中检索数据
7.2.3 从数据库中检索存储的文件
7.3 大对象
7.3.1 把文件装入BLOB列
7.3.2 从BLOB列中检索数据并写入磁盘
7.3.3 在SQLJ中使用DBMS_LOB Oracle包
7.3.4 在SQLJ中使用BFILE
7.4 多线程
7.4.1 SQLJ中的多线程
7.4.2 执行上下文中的多线程
7.4.3 SQLJ应用程序中的多线程
7.5 SQLJ和JDBC之间的互操作性
7.5.1 将JDBC连接转换为SQLJ连接
7.5.2 把SQLJ连接转换为JDBC连接
7.5.3 共享和关闭连接
7.6 SQLJ迭代器和JDBC结果集之间的互操作性
7.6.1 把SQLJ迭代器转换为JDBC结果集
7.6.2 将JDBC结果集转换为SQLJ迭代器
7.7 子类化SQLJ迭代器类
第三部分 SQLJ及对象部署
第8章 使用SQLJ进行对象-关系处理
8.1 Oracle8i/9i 用户定义SQL对象类型
8.1.1 创建对象类型和对象表
8.1.2 对象表的INSERT语句
8.1.3 对象表的SELECT和UPDATE语句
8.2 在Oracle9i SQLJ中处理SQL对象类型
8.2.1 使用JPublisher为用户定义类型创建Java自定义类
8.2.2 理解JPublisher数据类型映射
8.2.3 对象类型和引用类型的Java自定义类方法
8.2.4 ObjectTypes.sqlj:处理包含用户定义SQL对象类型的表的SQLJ程序范例
8.3 Oracle8i/9i 用户定义SQL集合类型
8.4 在SQLJ中处理SQL集合
8.5 在SQLJ程序中使用SQLData类
第9章 SQLJ业务和科学对象部署
9.1 分布式计算系统的基本概念
9.2 设计和开发基于SQLJ组件的对象
9.2.1 什么是组件
9.2.2 什么是组件模型
9.2.3 开发SQLJ组件
9.3 使用Java远程方法调用部署SQLJ组件
9.3.1 RMI分布式对象应用程序需要做什么
9.3.2 RMI是什么
9.3.3 RMI对象组成
9.3.4 开发RMI对象
9.4 使用SQLJ实现部署企业JavaBeans对象
9.4.1 什么是企业JavaBeans
9.4.2 企业JavaBeans角色
9.4.3 企业JavaBeans的类型
9.4.4 企业JavaBeans对象组成
9.4.5 开发企业会话Bean应用程序
9.4.6 使用XML标记编写部署描述符
9.4.7 使用EJB的Java servlet
9.5 使用SQLJ实现部署CORBA对象
9.5.1 什么是CORBA
9.5.2 CORBA对象组成
9.5.3 开发CORBA对象
第四部分 有效使用SQLJ
第10章 SQLJ应用:性能调整
10.1 扩展ConnectionManager类
10.2 Oracle性能增强特性支持
10.2.1 SQLJ的行预取
10.2.2 批量更新
10.2.3 语句缓存
10.2.4 在SQLJ中实现健壮的缓存
10.2.5 列定义
10.2.6 参数大小定义
10.3 开发高效的SQLJ程序
10.4 用Oracle 优化器优化SQLJ语句
10.5 减少网络流量的其他方法
第11章 Oracle9i开发工具
11.1 Oracle Internet开发工具简介
11.1.1 Oracle Designer工具
11.1.2 Oracle WebDB
11.1.3 Oracle JDeveloper
11.2 使用JDeveloper开发SQLJ应用
11.2.1 创建新工作空间
11.2.2 创建新工程
11.2.3 向工程中添加SQLJ源文件
11.2.4 设置工程属性
11.2.5 编译SQLJ程序
11.2.6 运行SQLJ程序
第五部分 附 录
附录A Oracle SQL基础
附录B Java基础
附录C Java数据库连接简介
附录D SQLJ快速参考指南
参考文献
序1
序2
前言
第一部分 Oracle9i SQLJ基础
第1章 Oracle9i SQLJ介绍
1.1 Java语言与Internet上数据库处理之间的关系
1.2 Java和Oracle9i数据库服务器的紧密集成
1.2.1 Oracle JVM概述
1.2.2 Oracle JVM的主要组件
1.3 Java的静态和动态嵌入式SQL模型:SQLJ
1.3.1 动态SQL
1.3.2 静态嵌入式SQL
1.3.3 SQLJ概述
1.3.4 SQLJ与JDBC的比较
1.4 在胖、瘦客户机端和服务器端部署SQLJ
1.4.1 胖客户机应用程序
1.4.2 瘦客户机应用程序
1.4.3 服务器端应用程序
1.5 其他嵌入式SQL(如PL/SQL 和Pro*C)与SQLJ的比较
第2章 SQLJ程序开发
2.1 从SQLJ程序中执行非SELECT的SQL语句
2.1.1 连接数据库
2.1.2 不返回结果的SQLJ可执行语句
2.1.3 SQLJ加载程序:LoadAccountList.sqlj
2.1.4 翻译和执行LoadAccountList.sqlj程序
2.2 借助于命名迭代器从SQLJ程序中执行SELECT语句
2.2.1 命名迭代器处理
2.2.2 一个使用命名迭代器的SQLJ检索程序:AcctsForProjs.sqlj
2.3 借助于位置迭代器执行SQLJ程序中的SELECT语句
2.3.1 命名迭代器与位置迭代器之间的区别
2.3.2 一个使用位置迭代器的SQLJ检索程序:AcctsForProjs2.sqlj
2.4 SQLJ翻译过程
2.5 sqlj命令行选项和属性文件
2.5.1 sqlj命令行选项
2.5.2 用属性文件指定SQLJ选项
第3章 SQLJ基本程序设计
3.1 不带结果表达式的可执行SQLJ语句:SQLJ DDL和非SELECT的 DML命令
3.1.1 SQLJ DDL命令
3.1.2 SQLJ DML命令
3.2 不带结果表达式的可执行SQLJ语句:SQLJ事务控制命令
3.2.1 自动提交标志
3.2.2 SET TRANSACTION语句
3.3 不带结果表达式的可执行SQLJ语句:匿名PL/SQL块和存储过程调用
3.3.1 匿名PL/SQL块
3.3.2 存储过程调用
3.4 不带结果表达式的可执行SQLJ语句:SET、FETCH和SELECT INTO语句
3.4.1 SET语句
3.4.2 SELECT INTO语句
3.4.3 FETCH语句
3.4.4 endFetch()方法
3.5 带有结果表达式的可执行SQLJ语句:SELECT语句
3.5.1 迭代器声明的语法
3.5.2 查询子句的语法
3.5.3 SQLJ检索程序:UsingNamedAndPositionalIter.sqlj
3.5.4 用嵌套游标输出填充迭代器
3.5.5 SQLJ对REF CURSOR类型的支持
3.6 带有结果表达式的可执行SQLJ语句:存储函数调用
3.7 运行时计算宿主表达式和结果表达式
3.8 JDBC和SQLJ异常类
3.9 其他有用的JDBC和SQLJ类
第二部分 用于关系型数据处理的高级SQLJ
第4章 开发SQLJ存储程序和触发器
4.1 客户端SQLJ存储程序的开发
4.1.1 Oracle服务器端JDBC驱动程序概述
4.1.2 编写服务器端SQLJ应用程序的注意事项
4.1.3 EmpInsert.sqlj:服务器端应用程序示例
4.1.4 在客户端翻译SQLJ源文件
4.1.5 把类和资源装入服务器
4.1.6 检查模式对象是否已经被装入服务器
4.1.7 用PL/SQL创建存储过程的调用规范
4.1.8 FuncTest.sqlj:一个调用存储子程序的简单应用程序
4.1.9 开发步骤总结
4.2 在PL/SQL包中创建调用规范
4.3 从SQL语句和PL/SQL块中调用SQLJ存储子程序
4.3.1 从PL/SQL块中调用存储子程序
4.3.2 从SQL DML命令中调用存储函数
4.3.3 用SQL CALL语句调用存储过程
4.4 在Oracle8i/9i 服务器中装入并翻译SQLJ源文件
4.4.1 SQLJ服务器翻译器所支持的选项
4.4.2 设置服务器翻译器的选项
4.4.3 服务器翻译器和loadjava产生的输出
4.4.4 服务器翻译器的错误输出
4.5 实用程序dropjava
4.6 用SQLJ和用PL/SQL实现存储子程序的优缺点对比
第5章 SQLJ高级部署
5.1 使用SQLJ连接上下文建立数据库连接
5.1.1 连接上下文的语义检查
5.1.2 SQLJ implements子句
5.1.3 SQLJ with子句
5.1.4 DataSource支持
5.2 SQLJ可执行语句中执行上下文与连接上下文的关系
5.3 使用SQLJ DefaultContext类
5.3.1 将数据源和默认上下文关联
5.3.2 UsingSqljDefaultContext.sqlj程序
5.4 用SQLJ管理多个数据库连接
5.5 部署SQLJ应用程序
5.6 部署SQLJ胖客户端
5.7 在应用服务器(中间层)中部署SQLJ
5.8 部署SQLJ瘦客户端
5.9 在Java应用程序中部署SQLJ
5.10 在Java applet中部署SQLJ
5.11 部署SQLJ applet
5.12 在Oracle8i/9i 数据服务器中部署SQLJ:SQLJ存储过程
5.13 在Oracle9i AS中部署SQLJ
5.13.1 使用SQLJ应用程序的Java servlet
5.13.2 使用SQLJ应用程序的JSP
5.14 在SQLJ程序中使用DataSource
第6章 SQLJ高级功能
6.1 声明和使用ResultSetIterator迭代器
6.2 声明和使用可滚动SQLJ迭代器
6.2.1 Scrollable接口
6.2.2 可滚动迭代器的敏感性
6.3 声明和使用可滚动命名迭代器
6.4 声明和使用可滚动位置迭代器
6.5 声明和使用ScrollableResultSetIterator迭代器
6.6 在SQLJ中使用嵌入式动态SQL
6.6.1 元绑定表达式
6.6.2 使用Java绑定表达式
6.6.3 使用SQL替换代码
6.6.4 在翻译时对Java绑定表达式进行求值
6.6.5 Java绑定表达式运行时的求值
6.6.6 使用元绑定表达式
6.6.7 元绑定表达式的约束
第7章 SQLJ高级特性
7.1 SQLJ流
7.2 用流向数据库发送数据
7.2.1 把文件存入数据库
7.2.2 用流从数据库中检索数据
7.2.3 从数据库中检索存储的文件
7.3 大对象
7.3.1 把文件装入BLOB列
7.3.2 从BLOB列中检索数据并写入磁盘
7.3.3 在SQLJ中使用DBMS_LOB Oracle包
7.3.4 在SQLJ中使用BFILE
7.4 多线程
7.4.1 SQLJ中的多线程
7.4.2 执行上下文中的多线程
7.4.3 SQLJ应用程序中的多线程
7.5 SQLJ和JDBC之间的互操作性
7.5.1 将JDBC连接转换为SQLJ连接
7.5.2 把SQLJ连接转换为JDBC连接
7.5.3 共享和关闭连接
7.6 SQLJ迭代器和JDBC结果集之间的互操作性
7.6.1 把SQLJ迭代器转换为JDBC结果集
7.6.2 将JDBC结果集转换为SQLJ迭代器
7.7 子类化SQLJ迭代器类
第三部分 SQLJ及对象部署
第8章 使用SQLJ进行对象-关系处理
8.1 Oracle8i/9i 用户定义SQL对象类型
8.1.1 创建对象类型和对象表
8.1.2 对象表的INSERT语句
8.1.3 对象表的SELECT和UPDATE语句
8.2 在Oracle9i SQLJ中处理SQL对象类型
8.2.1 使用JPublisher为用户定义类型创建Java自定义类
8.2.2 理解JPublisher数据类型映射
8.2.3 对象类型和引用类型的Java自定义类方法
8.2.4 ObjectTypes.sqlj:处理包含用户定义SQL对象类型的表的SQLJ程序范例
8.3 Oracle8i/9i 用户定义SQL集合类型
8.4 在SQLJ中处理SQL集合
8.5 在SQLJ程序中使用SQLData类
第9章 SQLJ业务和科学对象部署
9.1 分布式计算系统的基本概念
9.2 设计和开发基于SQLJ组件的对象
9.2.1 什么是组件
9.2.2 什么是组件模型
9.2.3 开发SQLJ组件
9.3 使用Java远程方法调用部署SQLJ组件
9.3.1 RMI分布式对象应用程序需要做什么
9.3.2 RMI是什么
9.3.3 RMI对象组成
9.3.4 开发RMI对象
9.4 使用SQLJ实现部署企业JavaBeans对象
9.4.1 什么是企业JavaBeans
9.4.2 企业JavaBeans角色
9.4.3 企业JavaBeans的类型
9.4.4 企业JavaBeans对象组成
9.4.5 开发企业会话Bean应用程序
9.4.6 使用XML标记编写部署描述符
9.4.7 使用EJB的Java servlet
9.5 使用SQLJ实现部署CORBA对象
9.5.1 什么是CORBA
9.5.2 CORBA对象组成
9.5.3 开发CORBA对象
第四部分 有效使用SQLJ
第10章 SQLJ应用:性能调整
10.1 扩展ConnectionManager类
10.2 Oracle性能增强特性支持
10.2.1 SQLJ的行预取
10.2.2 批量更新
10.2.3 语句缓存
10.2.4 在SQLJ中实现健壮的缓存
10.2.5 列定义
10.2.6 参数大小定义
10.3 开发高效的SQLJ程序
10.4 用Oracle 优化器优化SQLJ语句
10.5 减少网络流量的其他方法
第11章 Oracle9i开发工具
11.1 Oracle Internet开发工具简介
11.1.1 Oracle Designer工具
11.1.2 Oracle WebDB
11.1.3 Oracle JDeveloper
11.2 使用JDeveloper开发SQLJ应用
11.2.1 创建新工作空间
11.2.2 创建新工程
11.2.3 向工程中添加SQLJ源文件
11.2.4 设置工程属性
11.2.5 编译SQLJ程序
11.2.6 运行SQLJ程序
第五部分 附 录
附录A Oracle SQL基础
附录B Java基础
附录C Java数据库连接简介
附录D SQLJ快速参考指南
参考文献
猜您喜欢