譯者序
序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的靜態(tài)和動態(tài)嵌入式SQL模型:SQLJ
1.3.1 動態(tài)SQL
1.3.2 靜態(tài)嵌入式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程序開發(fā)
2.1 從SQLJ程序中執(zhí)行非SELECT的SQL語句
2.1.1 連接數據庫
2.1.2 不返回結果的SQLJ可執(zhí)行語句
2.1.3 SQLJ加載程序:LoadAccountList.sqlj
2.1.4 翻譯和執(zhí)行LoadAccountList.sqlj程序
2.2 借助于命名迭代器從SQLJ程序中執(zhí)行SELECT語句
2.2.1 命名迭代器處理
2.2.2 一個使用命名迭代器的SQLJ檢索程序:AcctsForProjs.sqlj
2.3 借助于位置迭代器執(zhí)行SQLJ程序中的SELECT語句
2.3.1 命名迭代器與位置迭代器之間的區(qū)別
2.3.2 一個使用位置迭代器的SQLJ檢索程序:AcctsForProjs2.sqlj
2.4 SQLJ翻譯過程
2.5 sqlj命令行選項和屬性文件
2.5.1 sqlj命令行選項
2.5.2 用屬性文件指定SQLJ選項
第3章 SQLJ基本程序設計
3.1 不帶結果表達式的可執(zhí)行SQLJ語句:SQLJ DDL和非SELECT的 DML命令
3.1.1 SQLJ DDL命令
3.1.2 SQLJ DML命令
3.2 不帶結果表達式的可執(zhí)行SQLJ語句:SQLJ事務控制命令
3.2.1 自動提交標志
3.2.2 SET TRANSACTION語句
3.3 不帶結果表達式的可執(zhí)行SQLJ語句:匿名PL/SQL塊和存儲過程調用
3.3.1 匿名PL/SQL塊
3.3.2 存儲過程調用
3.4 不帶結果表達式的可執(zhí)行SQLJ語句:SET、FETCH和SELECT INTO語句
3.4.1 SET語句
3.4.2 SELECT INTO語句
3.4.3 FETCH語句
3.4.4 endFetch()方法
3.5 帶有結果表達式的可執(zhí)行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 帶有結果表達式的可執(zhí)行SQLJ語句:存儲函數調用
3.7 運行時計算宿主表達式和結果表達式
3.8 JDBC和SQLJ異常類
3.9 其他有用的JDBC和SQLJ類
第二部分 用于關系型數據處理的高級SQLJ
第4章 開發(fā)SQLJ存儲程序和觸發(fā)器
4.1 客戶端SQLJ存儲程序的開發(fā)
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創(chuàng)建存儲過程的調用規(guī)范
4.1.8 FuncTest.sqlj:一個調用存儲子程序的簡單應用程序
4.1.9 開發(fā)步驟總結
4.2 在PL/SQL包中創(chuàng)建調用規(guī)范
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實現(xiàn)存儲子程序的優(yōu)缺點對比
第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可執(zhí)行語句中執(zhí)行上下文與連接上下文的關系
5.3 使用SQLJ DefaultContext類
5.3.1 將數據源和默認上下文關聯(lián)
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中使用嵌入式動態(tài)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 用流向數據庫發(fā)送數據
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 執(zhí)行上下文中的多線程
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 創(chuàng)建對象類型和對象表
8.1.2 對象表的INSERT語句
8.1.3 對象表的SELECT和UPDATE語句
8.2 在Oracle9i SQLJ中處理SQL對象類型
8.2.1 使用JPublisher為用戶定義類型創(chuàng)建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業(yè)務和科學對象部署
9.1 分布式計算系統(tǒng)的基本概念
9.2 設計和開發(fā)基于SQLJ組件的對象
9.2.1 什么是組件
9.2.2 什么是組件模型
9.2.3 開發(fā)SQLJ組件
9.3 使用Java遠程方法調用部署SQLJ組件
9.3.1 RMI分布式對象應用程序需要做什么
9.3.2 RMI是什么
9.3.3 RMI對象組成
9.3.4 開發(fā)RMI對象
9.4 使用SQLJ實現(xiàn)部署企業(yè)JavaBeans對象
9.4.1 什么是企業(yè)JavaBeans
9.4.2 企業(yè)JavaBeans角色
9.4.3 企業(yè)JavaBeans的類型
9.4.4 企業(yè)JavaBeans對象組成
9.4.5 開發(fā)企業(yè)會話Bean應用程序
9.4.6 使用XML標記編寫部署描述符
9.4.7 使用EJB的Java servlet
9.5 使用SQLJ實現(xiàn)部署CORBA對象
9.5.1 什么是CORBA
9.5.2 CORBA對象組成
9.5.3 開發(fā)CORBA對象
第四部分 有效使用SQLJ
第10章 SQLJ應用:性能調整
10.1 擴展ConnectionManager類
10.2 Oracle性能增強特性支持
10.2.1 SQLJ的行預取
10.2.2 批量更新
10.2.3 語句緩存
10.2.4 在SQLJ中實現(xiàn)健壯的緩存
10.2.5 列定義
10.2.6 參數大小定義
10.3 開發(fā)高效的SQLJ程序
10.4 用Oracle 優(yōu)化器優(yōu)化SQLJ語句
10.5 減少網絡流量的其他方法
第11章 Oracle9i開發(fā)工具
11.1 Oracle Internet開發(fā)工具簡介
11.1.1 Oracle Designer工具
11.1.2 Oracle WebDB
11.1.3 Oracle JDeveloper
11.2 使用JDeveloper開發(fā)SQLJ應用
11.2.1 創(chuàng)建新工作空間
11.2.2 創(chuàng)建新工程
11.2.3 向工程中添加SQLJ源文件
11.2.4 設置工程屬性
11.2.5 編譯SQLJ程序
11.2.6 運行SQLJ程序
第五部分 附 錄
附錄A Oracle SQL基礎
附錄B Java基礎
附錄C Java數據庫連接簡介
附錄D SQLJ快速參考指南
參考文獻