Oracle Database Programming Using Java and Web Services
暫譯: 使用 Java 和 Web 服務的 Oracle 數據庫編程

Kuassi Mensah

  • 出版商: Digital press
  • 出版日期: 2006-07-01
  • 售價: $3,450
  • 貴賓價: 9.5$3,278
  • 語言: 英文
  • 頁數: 1120
  • 裝訂: Paperback
  • ISBN: 1555583296
  • ISBN-13: 9781555583293
  • 相關分類: Java 程式語言Oracle資料庫
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

相關主題

商品描述

Description

The traditional division of labor between the database (which only stores and manages SQL and XML data for fast, easy data search and retrieval) and the application server (which runs application or business logic, and presentation logic) is obsolete. Although the books primary focus is on programming the Oracle Database, the concepts and techniques provided apply to most RDBMS that support Java including Oracle, DB2, Sybase, MySQL, and PostgreSQL. This is the first book to cover new Java, JDBC, SQLJ, JPublisher and Web Services features in Oracle Database 10g Release 2 (the coverage starts with Oracle 9i Release 2). This book is a must-read for database developers audience (DBAs, database applications developers, data architects), Java developers (JDBC, SQLJ, J2EE, and OR Mapping frameworks), and to the emerging Web Services assemblers.

 

Table of Contents

Preface Introduction Part I: Java in the Database 1 Stored Procedures as Database Programming Model 1.1 Rationale for Stored Procedures 1.1.1 Simplifying Database Programming 1.1.2 Centrally Managed Data Logic 1.1.3 Performance: Run JDBC Applications Faster in the Database 1.1.4 Encapsulation 1.1.5 Security: Advanced Data Access Control 1.1.6 Resource Optimization 1.1.7 Low-Cost Deployment 1.1.8 Fully Utilize Database Capabilities 1.2 Obstacles to the Adoption of Stored Procedures 1.2.1 Lack of Portability across RDBMS Vendors 1.2.2 Scalability 1.2.3 Maintenance and Resilience to Schema Change 1.2.4 Hard to Debug 1.2.5 Weak Support for Complex Types 1.3 Languages for Stored Procedures 1.3.1 Proprietary Languages 1.3.2 Java for Stored Procedures 1.3.3 .NET Languages 1.4 PL/SQL or Java 1.4.1 PL/SQL and Java! 2 OracleJVM: Under the Hood 2.1 Design Goals and Architecture 2.1.1 Tight Integration with the RDBMS 2.1.2 J2SE Compatibility 2.1.3 How Is Java Stored in the Database? 2.1.4 Class Sharing 2.1.5 Interapplication Isolation (JSR 121) 2.1.6 Contrasting OracleJVM with the JDK VM 2.1.7 Resource Control 2.1.8 SQL Data Access from Java in the Database 2.1.9 DBMS_JAVA: The All-Purpose Tool for Administering OracleJVM 2.2 Java Memory Management 2.2.1 Key Memory Structures of the Oracle Database 2.2.2 Java Memory Allocation Techniques 2.2.3 Garbage Collection Techniques 2.2.4 Java Memory Areas 2.2.5 Shared Servers versus Dedicated Processes 2.2.6 The Javapool 2.2.7 Top-Level Calls and Recursive Calls 2.2.8 State Preservation across Calls and End-of-Call Migration 2.2.9 End-of-Call, VM Termination, and Session Termination 2.3 Security in OracleJVM 2.3.1 User Authentication 2.3.2 Database-Schema Security 2.3.3 Resolver Specification and Class-Resolution Security 2.3.4 Login-User and Effective-User Security 2.3.5 Java 2 Security in OracleJVM 2.3.6 Java 2 Security in OracleJVM 2.3.7 OracleJVM Security Best Practices 2.3.8 JNI Calls 2.4 Java VM Life Cycle 2.4.1 OracleJVM Install, Uninstall, and Reinstall 2.4.2 Java VM Initialization and Termination 2.5 Java Execution in the Database 2.5.1 The OracleJVM Interpreter 2.6 The Native Java Compiler (NCOMP) 2.6.1 What Is NCOMP? 2.6.2 Requirements and Design Choices 2.6.3 The NCOMP Process 2.6.4 The NCOMP Command 2.6.5 The STATUSNC Command 2.6.6 NCOMP Configuration and Planning 2.6.7 NCOMP Performance Tips, Improper Use, and Troubleshooting 3 Developing and Running Java in the Database 3.1 Developing Java in the Database 3.1.1 Turning JDBC Applications into Java Stored Procedures 3.1.2 Creating or Loading Java in the Database 3.1.3 Removing Java Sources, Classes, and Resources from the Database 3.1.4 Setting/Querying Environment Variable and System Properties 3.1.5 The Java Compiler within the Database 3.2 Turning Java in the Database into Stored Procedures 3.2.1 Call Spec Types 3.3 Mapping SQL and PL/SQL Types to/from Java Types 3.3.1 Mapping Matrix 3.3.2 Code Segments for Mapping 3.4 Invoking Java in the Database 3.4.1 Setup 3.4.2 Invoking Java in the Database Using OJVMJAVA 3.4.3 Invoking Java in the Database through the PL/SQL Wrapper 3.4.4 Invoking Java in the Database through Client-side Stub 3.4.5 Errors and Exceptions Handling 3.5 Managing Java in the Database 3.5.1 Java Audit 3.5.2 Oracle Enterprise Manager (Database Control) Support for Java in the Database 4 Pragmatic Applications Using Java in the Database 4.1 CNXO: Secure Credit Card Processing with Oracle and JSSE 4.2 Using J2EE and Java in the Database Together 4.2.1 Auto-generating Primary Keys for BMP Entity Beans 4.2.2 Calling-out EJB from OracleJVM 4.2.3 HTTP Call-Out: The Poor Man?s Cache Invalidation 4.2.4 JMS over Streams/AQ in the Database 4.3 JDBC Call-Out to Non-Oracle Databases 4.3.1 Description and Rationales 4.3.2 How Does It Work? 4.4 SAP Java Connector: Accessing the SAP System from the Oracle Database 4.5 Excel-like Expression Parser in the Database 4.5.1 Rationales for Custom Parsers in the Database 4.5.2 What Is the Mini-Parser? 4.5.3 Implementing the Mini-Parser 5 Database Scripting Using Non-Java Languages 5.1 Why Contemplate Non-Java Languages for the Database? 5.1.1 Common Language Runtime in RDBMS 5.1.2 Scripting Languages Support in RDBMS 5.2 Database Scripting with OracleJVM?Just for Fun! 5.2.1 Proof of Concept #1: Running TCL (JACL) Scripts in the Database 5.2.2 Proof of Concept #2: Running Jython (Python) in the Database 5.2.3 Proof of Concept #3: Running Kawa (Scheme) in the Database 5.2.4 Proof of Concept #4: Running Groovy in the Database Part II: Java Persistence and Java SQL Data Access Database Programming with Oracle JDBC 6 Introducing the JDBC Technology and Oracle?s Implementation 6.1 JDBC Primer 6.1.1 First Steps in JDBC 6.1.2 JDBC within J2SE and J2EE Environments 6.2 Overview of JDBC Specifications 6.2.1 Overview of JDBC 1.22 Specification (Where Things Started!) 6.2.2 Overview of JDBC 2.0 Specification (A Major Spec!) 6.2.3 Overview of JDBC 3.0 Specification 6.2.4 Overview of Upcoming JDBC 4.0 Specification 6.2.5 JDBC Standards Support in the Oracle JDBC Drivers 6.3 Architecture and Packaging of Oracle JDBC Drivers 6.3.1 Rearchitected Oracle JDBC Drivers 6.3.2 Packaging of Oracle JDBC Drivers 6.3.3 Features Differences Between Driver Types 6.3.4 JDBC Drivers and Database Interoperability 7 URL, DataSource, Connection, and Statements 7.1 JDBC URL 7.2 DataSources 7.2.1 The OracleDataSource 7.2.2 DataSources and JNDI 7.3 Connections and Connection Services 7.3.1 JDBC Connections and Oracle Extensions 7.3.2 Connection Caching: Implicit Connection Cache 7.3.3 The Connection Cache Manager 7.3.4 RAC Events and Fast Application Notification 7.3.5 High Availability: Fast Connection Failover 7.3.6 Scalability: Connection Load Balancing 7.3.7 JDBC Support for Transparent Application Fail-over 7.3.8 Proxy Authentication 7.3.9 Connection Wrapping 7.3.10 JDBC Connections in Grid Environment 7.4 JDBC Statements and Oracle Extensions 7.4.1 JDBC Statement Types 7.4.2 Statement 7.4.3 PreparedStatement 7.4.4 CallableStatement (Calling Stored Procedures) 7.4.5 Retrieval of Auto-Generated Keys and DML with Returning 7.4.6 Statement Caching 7.4.7 DML Batching 8 SQL Data Access and Manipulation 8.1 Key Metadata in JDBC 8.1.1 DatabaseMetaData: OracleDatabaseMetaData 8.1.2 ResultSetMetaData: OracleResultSetMetaData 8.1.3 ParameterMetaData 8.1.4 StructMetaData 8.2 Manipulating Oracle Data Types with JDBC 8.2.1 Manipulating SQL Null Data 8.2.2 Manipulating Character Data Types 8.2.3 Oracle JDBC Support for Number Data Types 8.2.4 JDBC Support for Long and Raw Data Types 8.2.5 JDBC Support for SQL Datetime Data Types 8.2.6 JDBC Support for LOB Datatypes 8.2.7 JDBC Support for ROWID 8.2.8 JDBC Support for OPAQUE Type 8.2.9 JDBC Support for XMLType 8.2.10 JDBC Support for SQL Object Types and References Types 8.2.11 JDBC Support for User-Defined Collections 8.2.12 JDBC Support for Spatial Types 8.2.13 Unsupported Types 8.3 Result Set Support in Oracle JDBC 8.3.1 The Result Set API in a Nutshell 8.3.2 The Oracle Result Set Interface 8.3.3 Oracle JDBC Support for Scrollable Result Sets 8.3.4 Oracle JDBC Support for Updatable Result Sets 8.3.5 Prefetching and Auto Refresh 8.3.6 Changes Detection and Visibility 8.4 RowSet 8.4.1 Introducing the RowSet API 8.4.2 JDBCRowSet and OracleJDBCRowSet 8.4.3 CachedRowSet and OracleCachedRowSet 8.4.4 WebRowSet and OracleWebRowSet 8.4.5 FilteredRowSet and OracleFilteredRowSet 8.4.6 JoinRowSet and OracleJoinRowSet 8.5 Conclusion 9 JDBC Quality of Services and Best Practices 9.1 Transaction Services 9.1.1 Transactions 9.1.2 AutoCommit 9.1.3 Transaction Isolation Levels 9.1.4 Transaction SavePoint Support 9.1.5 Global/Distributed Transaction 9.1.6 Connection Sharing between Local and Global Transactions 9.2 Security Services 9.2.1 Oracle JDBC Support for SSL 9.3 Tips and Best Practices 9.3.1 End-to-End Tracing 9.3.2 Common Errors 9.3.3 Optimizing Result Set Retrieval 9.3.4 Logging Service 9.4 Conclusion Part III: Oracle Database Programming with SQLJ 10 Introducing the SQLJ Technology and Oracle?s Implementation 10.1 Overview 671 10.1.1 What Is SQLJ? 10.1.2 Why SQLJ? 10.1.3 The Oracle SQLJ Translator 10.1.4 The Oracle SQLJ Runtime 10.1.5 Environment Setup 10.1.6 SQLJ Primer 10.2 SQLJ in the Database 11 The SQL Language and Oracle Extensions 11.1 Declaration Statements 11.1.1 Import Statements 11.1.2 Connection Contexts 11.1.3 Execution Contexts 11.1.4 Iterators 11.1.5 IMPLEMENTS Clause in Context Declarations 11.1.6 WITH Clause in Context Declarations 11.2 Executable Statements 11.2.1 Statement Clauses 11.2.2 Assignment Clauses 11.2.3 Dynamic SQL 11.3 Expressions in SQLJ 11.3.1 Context and Result Expressions 11.3.2 Expressions Evaluation 11.4 Interoperability: Using SQLJ and JDBC Together 11.4.1 JDBC to SQLJ Interoperability 11.4.2 SQLJ to JDBC Interoperability 11.5 Conclusion 12 SQL Data Access and Best Practices 12.1 Manipulating Oracle SQL and PL/SQL Data Types with SQLJ 12.1.1 Oracle SQLJ Type-Mapping Summary 12.1.2 Column Definitions 12.1.3 Manipulating SQL Null Data with SQLJ 12.1.4 Manipulating Character Data Types with SQLJ 12.1.5 Oracle SQLJ Support for Number Data Types 12.1.6 SQLJ Streams, LONG, and RAW Data Types 12.1.7 SQLJ Support for SQL Datetime Data Types 12.1.8 SQLJ Support for SQL LOB Data Types 12.1.9 SQLJ Support for Oracle SQL ROWID 12.1.10 SQLJ Support for OPAQUE Types 12.1.11 SQLJ Support for SQL Object Types and SQL References Types 12.1.12 Serialized Java Objects 12.1.13 SQLJ Support for User-Defined SQL Collections 12.1.14 PL/SQL Associative Array 12.1.15 Unsupported Types 12.2 SQLJ Best Practices 12.2.1 Row Prefetch 12.2.2 Statement Caching 12.2.3 Update Batching 12.3 Conclusion Part IV: Oracle Database Programming with JPublisher 13 Abridged Oracle JPublisher 13.1 Why JPublisher? 13.2 Overview 13.2.1 Environment Requirements 13.2.2 JPublisher Options 13.3 JPublisher In Action 13.3.1 User-Defined SQL Object Types 13.3.2 SQL Object Reference Types (REF types) 13.3.3 REF Cursor Types and Subclassing 13.3.4 User-Defined SQL Collection Types 13.3.5 User-Defined OPAQUE Types 13.3.6 XMLType 13.3.7 PL/SQL Conversion Functions 13.3.8 PL/SQL RECORD Types 13.3.9 PL/SQL Table or Scalar Index-by-Table 13.3.10 Oracle Streams AQ 13.4 Conclusion Part V: Programming the Oracle Database with Web Services 14 Web Services and SOA for DBA, Data Architects, and Others 14.1 Web Services 101 14.1.1 Core Web Services Technologies 14.2 Service-Oriented Architecture (SOA): The Bigger Picture 14.3 Conclusion 15 Database as Web Services Provider Service 901 15.1 Rationales for Database as Web Services Provider 15.2 How Does Database as Web Services Provider Work? 15.2.1 Implementation and Packaging 15.2.2 How Does Oracle Database as Web Services Provider Work? 15.2.3 Web Services and SOA Features in Oracle Application Server 10.1.3 15.3 Turning Oracle Database Functionality into Web Services 15.3.1 Type Conversions and Result Set Representation 15.3.2 Setting up the Oracle AS OC4J for Database as Web Services Provider 15.3.3 Assembling PL/SQL Web Services Using JDeveloper Wizard 15.4 Assembling Database Web Services Using the Command-Line Tool 15.4.1 Assembling PL/SQL Web Services Using Web Services Assembler 15.4.2 Assembling Java in the Database as a Web Service 15.4.3 Assembling SQL Queries or SQL DML Statements as Web Services 15.4.4 Assembling Oracle Streams AQ as Web Services 15.5 Data Type Restrictions 15.6 Conclusion 16 Database as Web Services Consumer 16.1 Rationales for Database as Web Services Consumer 16.2 How Database as Web Services Consumer Works 16.2.1 The Software Pieces 16.2.2 The Required Steps 16.3 Turning Your Oracle Database 10g into a Web Service Consumer 16.3.1 Ensure That Java Is Installed in the Database 16.3.2 Installing JPublisher on the Client Machine 16.3.3 Installing the Web Services Call-Out Utility in Your Database 16.4 Database Web Services Call-Out Samples 16.4.1 Calling Out Google Search Web Service 16.4.2 Calling Out the Phone Verifier Web Service 16.5 Conclusion Part VI: Putting Everything Together 17 360-Degree Programming the Oracle Database 17.1 TECSIS Systems: Custom Enterprise Integration Framework 970 17.1.1 About the Company 17.1.2 About the Application 17.1.3 Our Business and Technical Requirements 17.1.4 The Architecture of the Integration Framework 17.1.5 The Complete Picture 17.1.6 Conclusion 17.2 Oracle interMedia 17.2.1 What Is Oracle interMedia? 17.2.2 How Does It Work? 17.2.3 Rationales for Storing Media Data in the Database 17.2.4 interMedia Powered by the Oracle Database Extensibility Framework 17.2.5 interMedia Powered by Java in the Database 17.2.6 Developing Feature-Rich Multimedia Applications Using interMedia 17.3 British Columbia: Online Corporate Registration 17.3.1 Corporate Online: Background 17.3.2 How It Works 17.3.3 Architecture: Requirements and Design 17.3.4 Messaging across Tiers 17.3.5 Future Work 17.3.6 Conclusion 17.4 Information Retrieval Using Oracle Text 17.4.1 What Is Oracle Text? 17.4.2 Why Java in the Database? 17.4.3 Technical Features 17.4.4 Benefits of an Integrated Search Capability 17.4.5 Yapa 17.4.6 Conclusion 17.5 Database-Driven Content Management System (DBPrism CMS) 17.5.1 DBPRISM CMS: Key Features and Benefits 17.5.2 The Architecture of DBPrism CMS 17.5.3 DBPrism CMS Internals 17.5.4 Extended Capabilities 17.5.5 Text Searching 17.5.6 Installing DBPRism CMS 17.5.7 Future Work 17.6 Conclusion Index

商品描述(中文翻譯)

**描述**

傳統上,資料庫(僅儲存和管理 SQL 和 XML 數據以便快速、簡單的數據搜尋和檢索)與應用伺服器(運行應用或業務邏輯及呈現邏輯)之間的分工已經過時。雖然本書的主要重點是編程 Oracle Database,但所提供的概念和技術適用於大多數支持 Java 的 RDBMS,包括 Oracle、DB2、Sybase、MySQL 和 PostgreSQL。這是第一本涵蓋 Oracle Database 10g Release 2 中新 Java、JDBC、SQLJ、JPublisher 和 Web Services 功能的書籍(內容從 Oracle 9i Release 2 開始)。本書是資料庫開發人員(DBA、資料庫應用開發人員、數據架構師)、Java 開發人員(JDBC、SQLJ、J2EE 和 OR 映射框架)以及新興的 Web Services 組合者必讀的書籍。

**目錄**

前言 介紹 第一部分:資料庫中的 Java
1 儲存過程作為資料庫編程模型
1.1 儲存過程的理由
1.1.1 簡化資料庫編程
1.1.2 集中管理的數據邏輯
1.1.3 性能:在資料庫中更快地運行 JDBC 應用
1.1.4 封裝
1.1.5 安全性:高級數據訪問控制
1.1.6 資源優化
1.1.7 低成本部署
1.1.8 完全利用資料庫功能
1.2 採用儲存過程的障礙
1.2.1 缺乏跨 RDBMS 供應商的可攜性
1.2.2 可擴展性
1.2.3 對架構變更的維護和韌性
1.2.4 難以調試
1.2.5 對複雜類型的支持薄弱
1.3 儲存過程的語言
1.3.1 專有語言
1.3.2 用於儲存過程的 Java
1.3.3 .NET 語言
1.4 PL/SQL 或 Java
1.4.1 PL/SQL 和 Java!
2 OracleJVM:內部運作
2.1 設計目標和架構
2.1.1 與 RDBMS 的緊密集成
2.1.2 J2SE 兼容性
2.1.3 Java 如何儲存在資料庫中?
2.1.4 類共享
2.1.5 應用間隔離(JSR 121)
2.1.6 將 OracleJVM 與 JDK VM 進行對比
2.1.7 資源控制
2.1.8 從資料庫中的 Java 訪問 SQL 數據
2.1.9 DBMS_JAVA:管理 OracleJVM 的萬能工具
2.2 Java 內存管理
2.2.1 Oracle Database 的關鍵內存結構
2.2.2 Java 內存分配技術
2.2.3 垃圾回收技術
2.2.4 Java 內存區域
2.2.5 共享伺服器與專用進程
2.2.6 Javapool
2.2.7 頂層調用和遞歸調用
2.2.8 跨調用的狀態保留和調用結束遷移
2.2.9 調用結束、VM 終止和會話終止
2.3 OracleJVM 中的安全性
2.3.1 用戶身份驗證
2.3.2 資料庫架構安全性
2.3.3 解析器規範和類解析安全性
2.3.4 登錄用戶和有效用戶安全性
2.3.5 OracleJVM 中的 Java 2 安全性
2.3.6 OracleJVM 中的 Java 2 安全性
2.3.7 OracleJVM 安全最佳實踐
2.3.8 JNI 調用
2.4 Java VM 生命週期
2.4.1 OracleJVM 的安裝、卸載和重新安裝
2.4.2 Java VM 的初始化和終止
2.5 在資料庫中執行 Java
2.5.1 OracleJVM 解釋器
2.6 原生 Java 編譯器(NCOMP)
2.6.1 NCOMP 是什麼?
2.6.2 要求和設計選擇
2.6.3 NCOMP 流程
2.6.4 NCOMP 命令
2.6.5 STATUSNC 命令
2.6.6 NCOMP 配置和規劃
2.6.7 NCOMP 性能提示、不當使用和故障排除
3 在資料庫中開發和運行 Java
3.1 在資料庫中開發 Java
3.1.1 將 JDBC 應用轉換為 Java 儲存過程
3.1.2 在資料庫中創建或加載 Java
3.1.3 從資料庫中移除 Java 源碼、類和資源
3.1.4 設定/查詢環境變數和系統屬性
3.1.5 資料庫內的 Java 編譯器
3.2 將資料庫中的 Java 轉換為儲存過程
3.2.1 調用規範類型
3.3 將 SQL 和 PL/SQL 類型映射到/從 Java 類型
3.3.1 映射矩陣
3.3.2 映射的代碼片段
3.4 在資料庫中調用 Java
3.4.1 設置
3.4.2 使用 OJVMJAVA 在資料庫中調用 Java
3.4.3 通過 PL/SQL 包裝器在資料庫中調用 Java
3.4.4 通過客戶端存根在資料庫中調用 Java
3.4.5 錯誤和異常處理
3.5 管理資料庫中的 Java
3.5.1 Java 審計
3.5.2 Oracle 企業管理器(資料庫控制)對資料庫中 Java 的支持
4 使用 Java 在資料庫中的務實應用
4.1 CNXO:使用 Oracle 和 JSSE 進行安全的信用卡處理
4.2 將 J2EE 和 Java 一起使用於資料庫
4.2.1 為 BMP 實體 Bean 自動生成主鍵
4.2.2 從 OracleJVM 調用 EJB
4.2.3 HTTP 調用:窮人的快取失效
4.2.4 資料庫中的 JMS 通過 Streams/AQ
4.3 JDBC 調用非 Oracle 資料庫
4.3.1 描述和理由
4.3.2 它是如何工作的?
4.4 SAP Java 連接器:從 Oracle 資料庫訪問 SAP 系統
4.5 資料庫中的類 Excel 的表達式解析器
4.5.1 資料庫中自定義解析器的理由
4.5.2 什麼是 Mini-Parser?
4.5.3 實現 Mini-Parser
5 使用非 Java 語言的資料庫腳本
5.1 為什麼考慮非 Java 語言用於資料庫?
5.1.1 RDBMS 中的公共語言運行時
5.1.2 RDBMS 中的腳本語言支持
5.2 使用 OracleJVM 進行資料庫腳本?只是為了好玩!
5.2.1 概念驗證 #1:在資料庫中運行 TCL(JACL)腳本
5.2.2 概念驗證 #2:在資料庫中運行 Jython(Python)
5.2.3 概念驗證 #3:在資料庫中運行 Kawa(Scheme)
5.2.4 概念驗證 #4:在資料庫中運行 Groovy
第二部分:Java 持久性和 Java SQL 數據訪問
使用 Oracle JDBC 的資料庫編程
6 介紹 JDBC 技術和 Oracle 的實現
6.1 JDBC 入門
6.1.1 JDBC 的第一步
6.1.2 JDBC 在 J2SE 和 J2EE 環境中的應用
6.2 JDBC 規範概述
6.2.1 JDBC 1.22 規範概述(事情的起點!)
6.2.2 JDBC 2.0 規範概述(一個重要的規範!)
6.2.3 JDBC 3.0 規範概述
6.2.4 即將推出的 JDBC 4.0 規範概述
6.2.5 Oracle JDBC 驅動程序中的 JDBC 標準支持
6.3 Oracle JDBC 驅動程序的架構和包裝
6.3.1 重新架構的 Oracle JDBC 驅動程序
6.3.2 Oracle JDBC 驅動程序的包裝
6.3.3 驅動類型之間的特徵差異
6.3.4 JDBC 驅動程序和資料庫互操作性
7 URL、DataSource、連接和語句
7.1 JDBC URL
7.2 DataSources
7.2.1 OracleDataSource
7.2.2 DataSources 和 JNDI
7.3 連接和連接服務
7.3.1 JDBC 連接和 Oracle 擴展
7.3.2 連接緩存:隱式連接緩存
7.3.3 連接緩存管理器
7.3.4 RAC 事件和快速應用通知
7.3.5 高可用性:快速連接故障轉移
7.3.6 可擴展性:連接負載平衡
7.3.7 JDBC 對透明應用故障轉移的支持
7.3.8 代理身份驗證
7.3.9 連接包裝
7.3.10 網格環境中的 JDBC 連接
7.4 JDBC 語句和 Oracle 擴展
7.4.1 JDBC 語句類型
7.4.2 語句
7.4.3 PreparedStatement
7.4.4 CallableStatement(調用儲存過程)
7.4.5 自動生成鍵和帶返回的 DML 的檢索
7.4.6 語句緩存
7.4.7 DML 批處理
8 SQL 數據訪問和操作
8.1 JDBC 中的關鍵元數據
8.1.1 DatabaseMetaData:OracleDatabaseMetaData
8.1.2 ResultSetMetaData:OracleResultSetMetaData
8.1.3 ParameterMetaData
8.1.4 StructMetaData
8.2 使用 JDBC 操作 Oracle 數據類型
8.2.1 操作 SQL Null 數據
8.2.2 操作字符數據類型
8.2.3 Oracle JDBC 對數字數據類型的支持
8.2.4 JDBC 對長整數和原始數據類型的支持
8.2.5 JDBC 對 SQL 日期時間數據類型的支持
8.2.6 JDBC 對 LOB 數據類型的支持
8.2.7 JDBC 對 ROWID 的支持
8.2.8 JDBC 對 OPAQUE 類型的支持
8.2.9 JDBC 對 XMLType 的支持
8.2.10 JDBC 對 SQL 對象類型和引用類型的支持
8.2.11 JDBC 對用戶定義集合的支持
8.2.12 JDBC 對空間類型的支持
8.2.13 不支持的類型
8.3 Oracle JDBC 中的結果集支持
8.3.1 結果集 API 簡介
8.3.2 Oracle 結果集介面
8.3.3 Oracle JDBC 對可滾動結果集的支持
8.3.4 Oracle JDBC 對可更新結果集的支持
8.3.5 預取和自動刷新
8.3.6 變更檢測和可見性
8.4 RowSet
8.4.1 介紹 RowSet API
8.4.2 JDBCRowSet 和 OracleJDBCRowSet
8.4.3 CachedRowSet 和 OracleCachedRowSet
8.4.4 WebRowSet 和 OracleWebRowSet
8.4.5 FilteredRowSet 和 OracleFilteredRowSet
8.4.6 JoinRowSet 和 OracleJoinRowSet
8.5 結論
9 JDBC 服務質量和最佳實踐
9.1 交易服務
9.1.1 交易
9.1.2 自動提交
9.1.3 交易隔離級別
9.1.4 交易保存點支持
9.1.5 全局/分佈式交易
9.1.6 本地和全局交易之間的連接共享
9.2 安全服務
9.2.1 Oracle JDBC 對 SSL 的支持
9.3 提示和最佳實踐
9.3.1 端到端追蹤
9.3.2 常見錯誤
9.3.3 優化結果集檢索
9.3.4 日誌服務
9.4 結論
第三部分:使用 SQLJ 的 Oracle Database 編程
10 介紹 SQLJ 技術和 Oracle 的實現
10.1 概述
10.1.1 SQLJ 是什麼?
10.1.2 為什麼選擇 SQLJ?
10.1.3 Oracle SQLJ 轉換器
10.1.4 Oracle SQLJ 運行時
10.1.5 環境設置
10.1.6 SQLJ 入門
10.2 資料庫中的 SQLJ
11 SQL 語言和 Oracle 擴展
11.1 聲明語句
11.1.1 導入語句
11.1.2 連接上下文
11.1.3 執行上下文
11.1.4 迭代器
11.1.5 上下文聲明中的 IMPLEMENTS 子句
11.1.6 上下文聲明中的 WITH 子句
11.2 可執行語句
11.2.1 語句子句
11.2.2 賦值子句
11.2.3 動態 SQL
11.3 SQLJ 中的表達式
11.3.1 上下文和結果表達式
11.3.2 表達式評估
11.4 互操作性:同時使用 SQLJ 和 JDBC
11.4.1 JDBC 與 SQLJ 的互操作性
11.4.2 SQLJ 與 JDBC 的互操作性
11.5 結論
12 SQL 數據訪問和最佳實踐
12.1 使用 SQLJ 操作 Oracle SQL 和 PL/SQL 數據類型
12.1.1 Oracle SQLJ 類型映射摘要
12.1.2 列定義
12.1.3 使用 SQLJ 操作 SQL Null 數據
12.1.4 使用 SQLJ 操作字符數據類型
12.1.5 Oracle SQLJ 對數字數據類型的支持
12.1.6 SQLJ 流、LONG 和 RAW 數據類型
12.1.7 SQLJ 對 SQL 日期時間數據類型的支持
12.1.8 SQLJ 對 SQL LOB 數據類型的支持
12.1.9 SQLJ 對 Oracle SQL ROWID 的支持
12.1.10 SQLJ 對 OPAQUE 類型的支持
12.1.11 SQLJ 對 SQL 對象類型和 SQL 引用類型的支持
12.1.12 序列化 Java 對象
12.1.13 SQLJ 對用戶定義 SQL 集合的支持
12.1.14 PL/SQL 關聯數組
12.1.15 不支持的類型
12.2 SQLJ 最佳實踐
12.2.1 行預取
12.2.2 語句緩存
12.2.3 更新批處理
12.3 結論
第四部分:使用 JPublisher 的 Oracle Database 編程
13 簡化的 Oracle JPublisher
13.1 為什麼選擇 JPublisher?
13.2 概述
13.2.1 環境要求
13.2.2 JPublisher 選項
13.3 JPublisher 的實際應用
13.3.1 用戶定義的 SQL 對象類型
13.3.2 SQL 對象引用類型(REF 類型)
13.3.3 REF 游標類型和子類化
13.3.4 用戶定義的 SQL 集合類型
13.3.5 用戶定義的 O