List of Examples
- 4-1 Using the OCI_ATTR_USERNAME Attribute to Set the User Name in the Session Handle
- 4-2 Returning Describe Information in the Statement Handle Relating to Select-List Items
- 4-3 Using the OCILogon2 Call for a Single User Session
- 4-4 Enabling a Local User to Serve as a Proxy for Another User
- 4-5 Connection String to Use for the Proxy User
- 4-6 Preserving Case Sensitivity When Enabling a Local User to Serve as a Proxy for Another User
- 4-7 Preserving Case Sensitivity in the Connection String
- 4-8 Using "dilbert[mybert]" in the Connection String
- 4-9 Using "dilbert[mybert]"["joe[myjoe]"] in the Connection String
- 4-10 Setting the Target User Name
- 4-11 Using OCI to Set the OCI_ATTR_PROXY_CLIENT Attribute and the Proxy dilbert
- 4-12 Creating and Initializing an OCI Environment
- 4-13 Getting Locale Information in OCI
- 4-14 Basic String Manipulation in OCI
- 4-15 Classifying Characters in OCI
- 4-16 Converting Character Sets in OCI
- 4-17 Retrieving a Message from a Text Message File
- 5-1 OCI Bind and Define Support for 64-Bit Integers
- 5-2 Binding 8-Byte Integer Data Types for OUT Binds of a DML Returning Statement
- 6-1 Binding Both Input and Output Variables in Nonquery Operations
- 6-2 Using Batch Error Execution Mode
- 6-3 Implicit Describe - Select List Is Available as an Attribute of the Statement Handle
- 6-4 Explicit Describe - Returning the Select-List Description for Each Column
- 6-5 Access on a Scrollable Cursor
- 7-1 Handle Allocation and Binding for Each Placeholder in a SQL Statement
- 7-2 Defining a PL/SQL Statement to Be Used in OCI
- 7-3 Binding the Placeholder and Executing the Statement to Insert a Single Locator
- 7-4 Binding the Placeholder and Executing the Statement to Insert an Array of Locators
- 7-5 Allowed: Inserting into C1, C2, and L Columns Up to 8000, 8000, and 2000 Byte-Sized Bind Variable Data Values, Respectively
- 7-6 Allowed: Inserting into C1 and L Columns up to 2000 and 8000 Byte-Sized Bind Variable Data Values, Respectively
- 7-7 Allowed: Updating C1, C2, and L Columns up to 8000, 8000, and 2000 Byte-Sized Bind Variable Data Values, Respectively
- 7-8 Allowed: Updating C1, C2, and L Columns up to 2000, 2000, and 8000 Byte-Sized Bind Variable Data Values, Respectively
- 7-9 Allowed: Piecewise, Callback, and Array Insert or Update Operations
- 7-10 Not Allowed: Inserting More Than 4000 Bytes into Both LOB and LONG Columns Using the Same INSERT Statement
- 7-11 Allowed: Inserting into the CT3 LOB Column up to 2000 Byte-Sized Bind Variable Data Values
- 7-12 Not Allowed: Binding Any Length Data to a LOB Column in an Insert As Select Operation
- 7-13 Defining a Scalar Output Variable Following an Execute and Describe Operation
- 7-14 Defining LOBs Before Execution
- 7-15 Defining LOBs After Execution
- 7-16 Using Multiple Bind and Define Buffers
- 7-17 Binding the REF Output Variable in an OCI Application
- 7-18 Setting the Client Character Set to OCI_UTF16ID in OCI
- 7-19 Insert and Select Operations Using the OCI_ATTR_MAXCHAR_SIZE Attribute
- 7-20 Binding and Defining UTF-16 Data
- 7-21 Binding the :cursor1 Placeholder to the Statement Handle stm2p as a REF CURSOR
- 7-22 Defining a Nested Table (Second Position) as a Statement Handle
- 8-1 Initializing the OCI Process in Object Mode
- 8-2 Using an Explicit Describe to Retrieve Column Data Types for a Table
- 8-3 Describing the Stored Procedure
- 8-4 Using an Explicit Describe on a Named Object Type
- 8-5 Using an Explicit Describe on a Named Collection Type
- 8-6 Using a Parameter Descriptor to Retrieve the Data Types, Column Names, and Character-Length Semantics
- 8-7 Checking for Invisible Columns
- 9-1 Implementing Read Callback Functions Using OCILobRead2()
- 9-2 Implementing Write Callback Functions Using OCILobWrite2()
- 9-3 Using Temporary LOBs
- 9-4 Prefetching of LOB Data, Length, and Chunk Size
- 10-1 Defining the OCI_ATTR_SERVER_GROUP Attribute to Pass the Server Group Name
- 10-2 Defining the OCI_ATTR_PROXY_CREDENTIALS Attribute to Specify the Credentials of the Application Server for Client Authentication
- 10-3 Defining the OCI_ATTR_DISTINGUISHED_NAME Attribute to Pass the Distinguished Name of the Client
- 10-4 Defining the OCI_ATTR_CERTIFICATE Attribute to Pass the Entire X.509 Certificate
- 10-5 Defining the OCI_ATTR_INITIAL_CLIENT_ROLES Attribute to Pass the Client Roles
- 10-6 Defining the OCI_ATTR_CLIENT_IDENTIFIER Attribute to Pass the End-User Identity
- 10-7 Defining the OCI_ATTR_PASSWORD Attribute to Pass the Password for Validation
- 10-8 OCI Attributes That Let You Specify the External Name and Initial Privileges of a Client
- 10-9 Defining the OCI_ATTR_APPCTX_SIZE Attribute to Initialize the Context Array Size with the Desired Number of Context Attributes
- 10-10 Using the OCI_ATTR_APPCTX_LIST Attribute to Get a Handle on the Application Context List Descriptor for the Session
- 10-11 Calling OCIParamGet() to Obtain an Individual Descriptor for the i-th Application Context Using the Application Context List Descriptor
- 10-12 Defining Session Handle Attributes to Set Externally Initialized Context
- 10-13 Using the OCI_ATTR_CALL_TIME Attribute to Get the Elapsed Time of the Last Server Call
- 10-14 Using OCISessionBegin() with an Externally Initialized Context
- 10-15 Changing the "responsibility" Attribute Value in the CLIENTCONTEXT Namespace
- 10-16 Two Ways to Clear Specific Attribute Information in a Client Namespace
- 10-17 Clearing All the Context Information in a Specific Client Namespace
- 10-18 Calling OCIAttrSet() to Set the OCI_ATTR_EDITION Attribute
- 11-1 Example of PL/SQL Fix-Up Callback
- 12-1 Event Notification
- 12-2 User-Defined Failover Callback Function Definition
- 12-3 Failover Callback Registration
- 12-4 Failover Callback Unregistration
- 12-5 Callback Function That Implements a Failover Strategy
- 12-6 Transaction Guard Demo Program
- 13-1 Setting QOS Levels, the Notification Grouping Class, Value, and Type, and the Namespace Specific Context
- 13-2 Using AQ Grouping Notification Attributes in an OCI Notification Callback
- 13-3 Implementing a Publish Subscription Notification
- 13-4 Registering for Notification Using Callback Functions
- 13-5 LDAP Registration
- 13-6 Enqueue Buffered Messaging
- 13-7 Dequeue Buffered Messaging
- 14-1 Pseudocode That Describes the Overall Processing of a Typical OCI Call
- 14-2 Environment Variable Setting for the ORA_OCI_UCBPKG Variable
- 14-3 Specifying the pkgNInit() and PkgNEnvCallback() Functions
- 14-4 Using pkgNEnvCallback() to Register Entry, Replacement, and Exit Callbacks
- 14-5 Registering User Callbacks with the NULL ucbDesc
- 14-6 Using the OCIStmtPrepare() Call to Call the Callbacks in Order
- 15-1 Optimizing Bind and Define Operations on Statements in the Cache
- 15-2 Implicit Fetching of ROWIDs
- 15-3 DBMS_SQL RETURN_RESULT Subprogram
- 15-4 A PL/SQL Stored Procedure to Implicitly Return Result-Sets (Cursors) to the Client
- 15-5 An Anonymous PL/SQL Block to Implicitly Return Result-Sets (Cursors) to the Client
- 15-6 Using OCIStmtGetNextResult() to Retrieve and Process the Implicit Results Returned by Either a PL/SQL Stored Procedure or Anonymous Block
- 16-1 Calling OCIDBStartup() to Perform a Database Startup Operation
- 16-2 Calling OCIDBShutdown() in OCI_DBSHUTDOWN_FINAL Mode
- 16-3 Calling OCIDBShutdown() in OCI_DBSHUTDOWN_ABORT Mode
- 19-1 SQL Definition of Standalone Objects
- 19-2 SQL Definition of Embedded Objects
- 19-3 Pinning an Object
- 19-4 Manipulating Object Attributes in OCI
- 19-5 Using Complex Object Retrieval in OCI
- 19-6 C Representations of Types with Their Corresponding NULL Indicator Structures
- 19-7 Creating a New Object for an Object View
- 20-1 Manipulating an Attribute of Type OCIDate
- 20-2 Manipulating an Attribute of Type OCIDateTime
- 20-3 Manipulating an Attribute of Type OCINumber
- 20-4 Converting Values in OCINumber Format Returned from OCIDescribeAny() Calls to Unsigned Integers
- 20-5 Manipulating an Attribute of Type OCIString
- 20-6 Manipulating an Attribute of Type OCIRaw
- 20-7 Using Collection Data Manipulation Functions
- 20-8 Using Multilevel Collection Data Manipulation Functions
- 20-9 Using REF Manipulation Functions
- 20-10 Using Type Interfaces to Construct Object Types
- 20-11 Using Type Interfaces to Construct Collection Types
- 20-12 Using Special Construction and Access Calls for Improved Performance
- 20-13 Method 1 for a Salary Update: Fetch, Convert, and Assign
- 20-14 Method 2 for a Salary Update: Fetch and Assign, No Convert
- 20-15 Method 3 for a Salary Update: Direct Fetch
- 20-16 Using the SQLT_NTY Bind Call Including OCIBindObject()
- 20-17 Using the SQLT_NTY Define Call Including OCIDefineObject()
- 21-1 Direct Path Programs Must Include the Header Files
- 21-2 Passing the Handle Type to Allocate the Function Context
- 21-3 Explicit Allocation of Direct Path Column Array Handle
- 21-4 Explicit Allocation of Direct Path Function Column Array Handle
- 21-5 Allocating a Direct Path Stream Handle
- 21-6 Data Structures Used in Direct Path Loading Examples
- 21-7 Contents of the Header File cdemodp.h
- 21-8 Use of OCI Direct Path Interfaces
- 21-9 Allocating the Column Array and Stream Handles
- 21-10 Getting the Number of Rows and Columns
- 21-11 Setting Input Data Fields
- 21-12 Resetting the Column Array State
- 21-13 Resetting the Stream State
- 21-14 Converting Data to Stream Format
- 21-15 Loading the Stream
- 21-16 Finishing the Direct Path Load Operation
- 21-17 Freeing the Direct Path Handles
- 21-18 Allocating a Child Column Array for a Column Object
- 21-19 Allocating a Child Column Array for a SQL String Column
- 21-20 Allocating a Child Column Array for a REF Column
- 21-21 Allocating the Column Array for the Object Table
- 21-22 Specifying Values for the OCI_ATTR_DIRPATH_EXPR_TYPE Attribute
- 21-23 Setting a Function Context as a Column Attribute
- 21-24 Allocating a Child Column Array for a Function Context
- 22-1 Object Type Representation of a Department Row
- 22-2 C Representation of a Department Row
- 23-1 Initializing and Terminating XML Context with a C API
- 24-1 Definition of the Employee Object Type Listed in the Intype File
- 24-2 Contents of the Generated Header File demo.h
- 24-3 Contents of the demov.c File
- 24-4 Invoking OTT from the Command Line
- 24-5 Contents of a User-Created Intype File
- 24-6 Object Type Definition for Employee
- 24-7 OTT-Generated Struct Declarations
- 24-8 Object Type Definitions for the OTT Type Mapping Example
- 24-9 Various Type Mappings Created by OTT from Object Type Definitions
- 24-10 Object Type and Subtype Definitions
- 24-11 Contents of the Intype File
- 24-12 OTT Generates C Structs for the Types and Null Indicator Structs
- 24-13 Contents of an Intype File
- 24-14 Contents of the Outtype File After Running OTT
- 24-15 Content of an Intype File Named ex2c.typ
- 24-16 Invoking OTT and Specifying the Initialization Function
- 24-17 Content of an OTT-Generated File Named ex2cv.c
- 24-18 Object Type Definition to Demonstrate How OTT Generates Include Files
- 24-19 Content of the Intype File
- 24-20 Invoking OTT from the Command Line
- 24-21 Content of the Header File tott95b.h
- 24-22 Content of the Header File tott95a.h
- 24-23 Construct to Use to Conditionally Include the Header File tott95b.h
- 26-1 Creating a Compound Sharding Key
- 26-2 Custom Pool Example
- 36-1 Creating a Collection
- 36-2 Creating a Document
- F-1 Setting Configuration Parameters and Starting agtctl