Table of Contents
- List of Tables
- Title and Copyright Information
- Preface
- 1 Changes in This Release for Oracle SQLJ Developer’s Guide
- 2 Getting Started
- 3 Introduction to SQLJ
-
4
Key Programming Considerations
- 4.1 Selection of the JDBC Driver
-
4.2
Connection Considerations
- 4.2.1 Single Connection or Multiple Connections Using DefaultContext
- 4.2.2 Closing Connections
- 4.2.3 Multiple Connections Using Declared Connection Context Classes
- 4.2.4 More About the Oracle Class
- 4.2.5 More About the DefaultContext Class
- 4.2.6 Connection for Translation
- 4.2.7 Connection for Customization
- 4.3 NULL-Handling
- 4.4 Exception-Handling Basics
-
4.5
Basic Transaction Control
- 4.5.1 Overview of Transactions
- 4.5.2 Automatic Commits Versus Manual Commits
- 4.5.3 Specifying Auto-Commit as You Define a Connection
- 4.5.4 Modifying Auto-Commit in an Existing Connection
- 4.5.5 Using Manual COMMIT and ROLLBACK
- 4.5.6 Effect of Commits and Rollbacks on Iterators and Result Sets
- 4.5.7 Using Savepoints
- 4.6 Summary: First Steps in SQLJ Code
- 4.7 Oracle-Specific Code Generation (No Profiles)
- 4.8 ISO Standard Code Generation
- 4.9 Oracle-Specific Code Generation Versus ISO Standard Code Generation
- 4.10 Requirements and Restrictions for Naming
- 4.11 Considerations for SQLJ in the Middle Tier
-
5
Basic Language Features
- 5.1 Overview of SQLJ Declarations
- 5.2 Overview of SQLJ Executable Statements
-
5.3
Java Host, Context, and Result Expressions
- 5.3.1 Overview of Host Expressions
- 5.3.2 Basic Host Expression Syntax
- 5.3.3 Examples of Host Expressions
- 5.3.4 Overview of Result Expressions and Context Expressions
- 5.3.5 Evaluation of Java Expressions at Run Time
- 5.3.6 Examples of Evaluation of Java Expressions at Run Time (ISO Code Generation)
- 5.3.7 Restrictions on Host Expressions
- 5.4 Single-Row Query Results: SELECT INTO Statements
- 5.5 Multirow Query Results: SQLJ Iterators
- 5.6 Assignment Statements (SET)
- 5.7 Stored Procedure and Function Calls
-
6
Type Support
- 6.1 Supported Types for Host Expressions
-
6.2
Support for Streams
- 6.2.1 General Use of SQLJ Streams
- 6.2.2 Key Aspects of Stream Support Classes
- 6.2.3 Using SQLJ Streams to Send Data
- 6.2.4 Retrieving Data into Streams: Precautions
- 6.2.5 Using SQLJ Streams to Retrieve Data
- 6.2.6 Stream Class Methods
- 6.2.7 Examples of Retrieving and Processing Stream Data
- 6.2.8 SQLJ Stream Objects as Output Parameters and Function Return Values
- 6.3 Support for JDBC 2.0 LOB Types and Oracle Type Extensions
-
7
Objects, Collections, and OPAQUE Types
- 7.1 Oracle Objects and Collections
- 7.2 Custom Java Classes
- 7.3 User-Defined Types
- 7.4 Strongly Typed Objects and References in SQLJ Executable Statements
-
7.5
Strongly Typed Collections in SQLJ Executable Statements
- 7.5.1 Accessing Nested Tables: TABLE syntax and CURSOR syntax
- 7.5.2 Inserting a Row that Includes a Nested Table
- 7.5.3 Selecting a Nested Table into a Host Expression
- 7.5.4 Manipulating a Nested Table Using TABLE Syntax
- 7.5.5 Selecting Data from a Nested Table Using a Nested Iterator
- 7.5.6 Selecting a VARRAY into a Host Expression
- 7.5.7 Inserting a Row that Includes a VARRAY
- 7.6 Serialized Java Objects
- 7.7 Weakly Typed Objects, References, and Collections
- 7.8 Oracle OPAQUE Types
-
8
Advanced Language Features
-
8.1
Connection Contexts
- 8.1.1 Connection Context Concepts
- 8.1.2 Connection Context Logistics
- 8.1.3 Declaring and Using a Connection Context Class
- 8.1.4 Example of Multiple Connection Contexts
- 8.1.5 Implementation and Functionality of Connection Context Classes
- 8.1.6 Using the IMPLEMENTS Clause in Connection Context Declarations
- 8.1.7 Semantics-Checking of Your Connection Context Usage
- 8.1.8 Standard Data Source Support
- 8.1.9 SQLJ-Specific Data Sources
- 8.1.10 SQLJ-Specific Connection JavaBeans for JavaServer Pages
- 8.1.11 SQLJ Support for Global Transactions
- 8.1.12 Connecting to PDBs
- 8.2 Execution Contexts
- 8.3 Multithreading in SQLJ
- 8.4 Iterator Class Implementation and Advanced Functionality
- 8.5 Advanced Transaction Control
- 8.6 SQLJ and JDBC Interoperability
- 8.7 Support for Dynamic SQL
- 8.8 Using Stored Outlines
- 8.9 Using Plan Baselines
-
8.1
Connection Contexts
- 9 Translator Command Line and Options
- 10 Translator and Run-Time Functionality
- 11 Performance and Debugging
-
A
Customization and Specialized Customizers
- A.1 More About Profiles
- A.2 More About Profile Customization
-
A.3
Customization Options and Choosing a Customizer
- A.3.1 Overview of Customizer Harness Options
- A.3.2 General Customizer Harness Options
- A.3.3 Customizer Harness Options for Connections
- A.3.4 Customizer Harness Options that Invoke Specialized Customizers
- A.3.5 Overview of Customizer-Specific Options
-
A.3.6
Oracle Customizer Options
- A.3.6.1 Options Supported by Oracle Customizer
- A.3.6.2 Oracle Customizer Version Compatibility Option (compat)
- A.3.6.3 Oracle Customizer Force Option (force)
- A.3.6.4 Oracle Customizer Column Definition Option (optcols)
- A.3.6.5 Oracle Customizer Parameter Definition Option (optparams)
- A.3.6.6 Oracle Customizer Parameter Default Size Option (optparamdefaults)
- A.3.6.7 Oracle Customizer CHAR Comparisons with Blank Padding (fixedchar)
- A.3.6.8 Oracle Customizer Show-SQL Option (showSQL)
- A.3.6.9 Oracle Customizer Statement Cache Size Option (stmtcache)
- A.3.6.10 Oracle Customizer Summary Option (summary)
- A.3.7 Options for Other Customizers
- A.3.8 SQLJ Translator Options for Profile Customization
- A.4 JAR Files for Profiles
- A.5 SQLCheckerCustomizer for Profile Semantics-Checking
-
A.6
AuditorInstaller Customizer for Debugging
- A.6.1 Overview of Auditors and Code Layers
- A.6.2 Invoking AuditorInstaller with the Customizer Harness debug Option
- A.6.3 AuditorInstaller Run-Time Output
-
A.6.4
AuditorInstaller Options
- A.6.4.1 AuditorInstaller Depth Option (depth)
- A.6.4.2 AuditorInstaller Log File Option (log)
- A.6.4.3 AuditorInstaller Prefix Option (prefix)
- A.6.4.4 AuditorInstaller Return Arguments Option (showReturns)
- A.6.4.5 AuditorInstaller Thread Names Option (showThreads)
- A.6.4.6 AuditorInstaller Uninstall Option (uninstall)
- A.6.5 Full Command-Line Examples
- Index