Skip Headers
Oracle Call Interface Programmer's Guide
Release 2 (9.2)
Part Number A96584-01
Home
Book List
Index
Master Index
Feedback
Contents
Title and Copyright Information
Send Us Your Comments
Preface
Audience
Organization
Related Documentation
Conventions
Documentation Accessibility
What's New in Oracle Call Interface?
Oracle9
i
Release 2 (9.2) New Features in Oracle Call Interface
Oracle9
i
Release 1 (9.0.1) New Features in Oracle Call Interface
Oracle9
i
Release 9.0.0 New Features in Oracle Call Interface
Oracle8
i
Release 2 (8.1.6) New Features in Oracle Call Interface
Part I OCI Concepts
1 Introduction and Upgrading
Overview of OCI
Advantages of OCI
Building an OCI Application
Parts of OCI
Procedural and Non-Procedural Elements
Object Support
SQL Statements
Encapsulated Interfaces
Simplified User Authentication and Password Management
Extensions to Improve Application Performance and Scalability
OCI Object Support
Client-Side Object Cache
Associative and Navigational Interfaces
Runtime Environment for Objects
Type Management, Mapping and Manipulation Functions
Object Type Translator
OCI Support for Oracle Advanced Queuing
XA Library Support
Simplified Upgrading of Existing Applications
Compatibility and Upgrading
Obsolescent OCI Routines
OCI Routines Not Supported
Compatibility
Upgrading
2 OCI Programming Basics
Overview of OCI Programming
OCI Program Structure
OCI Data Structures
Handles
Allocating and Freeing Handles
Environment Handle
Error Handle
Service Context and Associated Handles
Statement Handle, Bind Handle, and Define Handle
Describe Handle
Complex Object Retrieval Handle
Thread Handle
Subscription Handle
Direct Path Handles
Process Handle
Connection Pool Handle
Handle Attributes
User Memory Allocation
Descriptors
Snapshot Descriptor
LOB/FILE Datatype Locator
Parameter Descriptor
ROWID Descriptor
Datetime and Interval Descriptors
Complex Object Descriptor
Advanced Queuing Descriptors
LDAP-based Publish-Subscribe Notification
User Memory Allocation
OCI Programming Steps
OCI Environment Initialization
Creating the OCI Environment
Shared Data Mode
Allocating Handles and Descriptors
Application Initialization, Connection, and Session Creation
Processing SQL Statements
Commit or Rollback
Terminating the Application
Error Handling
Return and Error Codes for Truncation and Null Data
Functions Returning Other Values
Additional Coding Guidelines
Parameter Types
Inserting Nulls into a Column
Indicator Variables
Cancelling Calls
Positioned Updates and Deletes
Reserved Words
Nonblocking Mode
Setting Blocking Modes
Cancelling a Nonblocking Call
Nonblocking Example
Using PL/SQL in an OCI Program
OCI Globalization Support
UTF-16 Environment
Character Length Semantics
Character Set Support
Client Character Set Control from OCI
Code Example for Character Set Control in OCI
Character Control and OCI Interfaces
OCI Database Globalization Support Functions
OCI String Manipulation Functions
OCI Character Classification Functions
OCI Character Conversion Functions
OCI Messaging Functions
3 Datatypes
Oracle Datatypes
Using External Datatype Codes
Internal Datatypes
LONG, RAW, LONG RAW, VARCHAR2
Character Strings and Byte Arrays
UROWID
External Datatypes
VARCHAR2
NUMBER
INTEGER
FLOAT
STRING
VARNUM
LONG
VARCHAR
DATE
RAW
VARRAW
LONG RAW
UNSIGNED
LONG VARCHAR
LONG VARRAW
CHAR
CHARZ
New External Datatypes
Named Data Types (Object, VARRAY, Nested Table)
REF
ROWID Descriptor
LOB Descriptor
Datetime and Interval Datatype Descriptors
C Object-Relational Datatype Mappings
Data Conversions
Data Conversions for LOB Datatype Descriptors
Data Conversions for Datetime and Interval Datatypes
Datetime and Date Upgrading Rules
Typecodes
Relationship Between SQLT and OCI_TYPECODE Values
Definitions in oratypes.h
4 Using SQL Statements in OCI
Overview of SQL Statement Processing
Processing SQL Statements
Preparing Statements
Using Prepared Statements on Multiple Servers
What is Binding?
Executing Statements
Execution Snapshots
Execution Modes
Batch Error Mode for OCIStmtExecute()
Describing Select-List Items
Implicit Describe
Explicit Describe of Queries
What is Defining?
Fetching Results
Fetching LOB Data
Setting Prefetch Count
Scrollable Cursors
Support for Scrollable Cursors in OCI
Example of Access on a Scrollable Cursor
5 Binding and Defining
Binding
Named Binds and Positional Binds
OCI Array Interface
Binding Placeholders in PL/SQL
Steps Used in Binding
PL/SQL Example
Advanced Bind Operations
Named Data Type Binds
Binding REFs
Binding LOBs
Binding in OCI_DATA_AT_EXEC Mode
Binding Ref Cursor Variables
Summary of Bind Information
Defining
Steps Used in Defining
Advanced Defines
Advanced Define Operations
Defining Named Data Type Output Variables
Defining REF Output Variables
Defining LOB Output Variables
Defining PL/SQL Output Variables
Defining For a Piecewise Fetch
Binding and Defining Arrays of Structures
Skip Parameters
OCI Calls Used with Arrays of Structures
Arrays of Structures and Indicator Variables
DML with RETURNING Clause
Using DML with RETURNING Clause
Binding RETURNING...INTO variables
Error Handling
DML with RETURNING REF...INTO clause
Additional Notes About Callbacks
Array Interface for DML RETURNING Statements
Character Conversion Issues in Binding and Defining
Choosing Character Set
Setting Client Character Sets in OCI
Using OCI_ATTR_MAXDATA_SIZE Attribute
Using OCI_ATTR_MAXCHAR_SIZE Attribute
Buffer Expansion During Binding
Constraint Checking During Defining
General Compatibility Issues for Character Length Semantics
Code Examples for Binding and Defining with Character Conversion
PL/SQL REF CURSORs and Nested Tables
Runtime Data Allocation and Piecewise Operations
Valid Datatypes for Piecewise Operations
Binding and Defining for LOBs
Types of Piecewise Operations
Providing INSERT or UPDATE Data at Runtime
Piecewise Operations With PL/SQL
Providing FETCH Information at Runtime
Additional Information About Piecewise Operations with No Callbacks
6 Describing Schema Metadata
Describing Schema Metadata
Using OCIDescribeAny()
Restrictions
Notes on Types and Attributes
Parameter Attributes
Types OCI_PTYPE_TABLE or OCI_PTYPE_VIEW
Procedure/Function/Subprogram Attributes
Package Attributes
Type Attributes
Type Attribute Attributes
Type Method Attributes
Collection Attributes
Synonym Attributes
Sequence Attributes
Column Attributes
Argument/Result Attributes
List Attributes
Schema Attributes
Database Attributes
Character Length Semantics Support in Describing
Examples Using OCIDescribeAny()
Retrieving Column Data Types For a Table
Describing the Stored Procedure
Retrieving Attributes of an Object Type
Retrieving the Collection Element's Data Type of a Named Collection Type
Describing with Character Length Semantics
7 LOB and FILE Operations
Using OCI Functions for LOBs
Creating and Modifying Internal LOBs
Associating a FILE in a Table with an Operating System File
LOB Attributes of an Object
Writing to a LOB Attribute of an Object
Transient Objects with LOB Attributes
Array Interface For LOBs
LOB and FILE Functions
Functions for Improving LOB Read/Write Performance
LOB Buffering Functions
Functions for Opening and Closing LOBs
LOB Read and Write Callbacks
The Callback Interface for Streaming
Reading LOBs using Callbacks
Writing LOBs using Callbacks
Temporary LOB Support
Creating and Freeing Temporary LOBs
Temporary LOB Durations
Temporary LOB Example
8 Managing Scalable Platforms
OCI Support for Transactions
Levels of Transactional Complexity
Transaction Examples
Related Initialization Parameters
Password and Session Management
Authentication Management
Password Management
Session Management
Middle-tier Applications
Attributes for Middle-tier Applications
Middle-tier Example
Attributes for Authentication
Externally Initialized Context
OCI Attributes for Externally Initialized Context
Using OCISessionBegin() with an Externally initialized Context
9 OCI Programming Advanced Topics
Thread Safety
Advantages of OCI Thread Safety
Thread Safety and Three-Tier Architectures
Basic Concepts of Multithreaded Development
Implementing Thread Safety
Multithreading Example
The OCIThread Package
Initialization and Termination
Passive Threading Primitives
Active Threading Primitives
Using the OCIThread Package
Example Using OCIThread
Connection Pooling
OCI Connection Pooling Concepts
OCI Calls for Connection Pooling
Increasing Scrollable Cursor Performance
Examples of Connection Pooling
Session Pooling
Functionality of OCI Session Pooling
Homogeneous and Heterogeneous Session Pools
Using Tags in Session Pools
Handles for Session Pooling
Using OCI Session Pooling
OCI Calls for Session Pooling
Example of OCI Session Pooling
Statement Caching
Statement Caching Without Session Pooling
Statement Caching With Session Pooling
Rules for Statement Caching
Statement Caching Code Example
User-Defined Callback Functions
Registering User Callbacks
OCI Callbacks From External Procedures
Application Failover Callbacks
Failover Callback Overview
Failover Callback Structure and Parameters
Failover Callback Registration
Failover Callback Example
Handling OCI_FO_ERROR
OCI and Advanced Queuing
OCI Advanced Queuing Functions
OCI Advanced Queuing Descriptors
Advanced Queuing in OCI versus PL/SQL
Publish-Subscribe Notification
Publish-Subscribe Registration Functions
Notification Callback
Notification Procedure
Publish-Subscribe Direct Registration Example
Publish-Subscribe LDAP Registration Example
Part II OCI Object Concepts
10 OCI Object-Relational Programming
OCI Object Overview
Working with Objects in OCI
Basic Object Program Structure
Persistent Objects, Transient Objects, and Values
Developing an OCI Object Application
Representing Objects in C Applications
Initializing Environment and Object Cache
Making Database Connections
Retrieving an Object Reference from the Server
Pinning an Object
Manipulating Object Attributes
Marking Objects and Flushing Changes
Fetching Embedded Objects
Object Meta-Attributes
Complex Object Retrieval
COR Prefetching
OCI Versus SQL Access to Objects
Pin Count and Unpinning
Nullity
Creating Objects
Freeing and Copying Objects
Object Reference and Type Reference
Creating Objects Based on Object Views or User-defined OIDs
Error Handling in Object Applications
Type Inheritance
Substitutability
NOT INSTANTIABLE Types and Methods
OCI Support for Type Inheritance
OTT Support for Type Inheritance
Type Evolution
11 Object-Relational Datatypes
Overview of OCI Functions for Objects
Mapping Oracle Datatypes to C
OCI Type Mapping Methodology
Manipulating C Datatypes With OCI
Precision of Oracle Number Operations
Date (OCIDate)
Date Conversion Functions
Date Assignment and Retrieval Functions
Date Arithmetic and Comparison Functions
Date Information Accessor Functions
Date Validity Checking Functions
Date Example
Datetime and Interval (OCIDateTime, OCIInterval)
Datetime Functions
Datetime Example
Interval Functions
Number (OCINumber)
Number Arithmetic Functions
Number Conversion Functions
Exponential and Logarithmic Functions
Trigonometric Functions
Number Assignment, Comparison, and Evaluation Functions
Number Example
Fixed or Variable-Length String (OCIString)
String Functions
String Example
Raw (OCIRaw)
Raw Functions
Raw Example
Collections (OCITable, OCIArray, OCIColl, OCIIter)
Generic Collection Functions
Collection Data Manipulation Functions
Collection Scanning Functions
Varray/Collection Iterator Example
Nested Table Manipulation Functions
Nested Table Locators
Multilevel Collection Types
Multilevel Collection Type Example
REF (OCIRef)
REF Manipulation Functions
REF Example
Object Type Information Storage and Access
Descriptor Objects
AnyType, AnyData and AnyDataSet Interfaces
Type Interfaces
OCIAnyData Interfaces
NCHAR Typecodes for OCIAnyData Functions
OCIAnyDataSet Interfaces
Binding Named Datatypes
Named Datatype Binds
Binding REFs
Information for Named Datatype and REF Binds
Defining Named Datatypes
Defining Named Datatype Output Variables
Defining REF Output Variables
Information for Named Datatype and REF Defines, and PL/SQL OUT Binds
Binding And Defining Oracle C Datatypes
Bind and Define Examples
Salary Update Examples
SQLT_NTY Bind/Define Example
Bind Example
Define Example
12 Direct Path Loading
Direct Path Loading Overview
Datatypes Supported for Direct Path Loading
Direct Path Handles
Direct Path Interface Functions
Limitations and Restrictions of the Direct Path Load Interface
Direct Path Load Example for Scalar Columns
Using a Date Cache in Direct Path Loading of Dates in OCI
Direct Path Loading of Object Types
Direct Path Loading of Nested Tables
Direct Path Loading of Column Objects
Direct Path Loading of SQL String Columns
Direct Path Loading of REF Columns
NOT FINAL Object and REF Columns
Direct Path Loading of Object Tables
Direct Path Loading a NOT FINAL Object Table
Direct Path Loading in Pieces
Loading Object Types in Pieces
Direct Path Context Handles and Attributes for Object Types
Direct Path Context Attributes
Direct Path Function Context and Attributes
Direct Path Column Parameter Attributes
Direct Path Function Column Array Handle for Non-scalar Columns
13 Object Cache Navigation
The Object Cache and Memory Management
Cache Consistency and Coherency
Object Cache Parameters
Object Cache Operations
Loading and Removing Object Copies
Making Changes to Object Copies
Synchronizing Object Copies with Server
Object Locking
Commit and Rollback in Object Applications
Object Duration
Memory Layout of an Instance
Object Navigation
Simple Object Navigation
OCI Navigational Functions
Pin/Unpin/Free Functions
Flush and Refresh Functions
Mark and Unmark Functions
Object Meta-Attribute Accessor Functions
Other Functions
Type Evolution and the Object Cache
14 The Object Type Translator (OTT)
OTT Overview
What is the Object Type Translator
Creating Types in the Database
Invoking OTT
The OTT Command Line
OTT Command Line Invocation Example
The Intype File
OTT Datatype Mappings
Mapping Object Datatypes to C
OTT Type Mapping Example
Null Indicator Structs
OTT Support for Type Inheritance
The Outtype File
Using OTT with OCI Applications
Accessing and Manipulating Objects with OCI
Calling the Initialization Function
Tasks of the Initialization Function
OTT Reference
OTT Command Line Syntax
OTT Parameters
Where OTT Parameters Can Appear
Structure of the Intype File
Nested Included File Generation
SCHEMA_NAMES Usage
Default Name Mapping
OTT Restriction on File Name Comparison
Part III OCI Reference
15 OCI Relational Functions
Introduction to the Relational Functions
Function Syntax
Calling OCI Functions
Server Round-trips for LOB Functions
Connect, Authorize, and Initialize Functions
OCIConnectionPoolCreate()
OCIConnectionPoolDestroy()
OCIEnvCreate()
OCIEnvInit()
OCIEnvNlsCreate()
OCIInitialize()
OCILogoff()
OCILogon()
OCILogon2()
OCIServerAttach()
OCIServerDetach()
OCISessionBegin()
OCISessionEnd()
OCISessionGet()
OCISessionPoolCreate()
OCISessionPoolDestroy()
OCISessionRelease()
OCITerminate()
Handle and Descriptor Functions
OCIAttrGet()
OCIAttrSet()
OCIDescriptorAlloc()
OCIDescriptorFree()
OCIHandleAlloc()
OCIHandleFree()
OCIParamGet()
OCIParamSet()
Bind, Define, and Describe Functions
OCIBindArrayOfStruct()
OCIBindByName()
OCIBindByPos()
OCIBindDynamic()
OCIBindObject()
OCIDefineArrayOfStruct()
OCIDefineByPos()
OCIDefineDynamic()
OCIDefineObject
OCIDescribeAny()
OCIStmtGetBindInfo()
16 More OCI Relational Functions
Introduction to More Relational Functions
Function Syntax
Calling OCI Functions
Server Round-trips for LOB Functions
Statement Functions
OCIStmtExecute()
OCIStmtFetch()
OCIStmtFetch2()
OCIStmtGetPieceInfo()
OCIStmtPrepare()
OCIStmtPrepare2()
OCIStmtRelease()
OCIStmtSetPieceInfo()
LOB Functions
OCIDurationBegin()
OCIDurationEnd()
OCILobAppend()
OCILobAssign()
OCILobCharSetForm()
OCILobCharSetId()
OCILobClose()
OCILobCopy()
OCILobCreateTemporary()
OCILobDisableBuffering()
OCILobEnableBuffering()
OCILobErase()
OCILobFileClose()
OCILobFileCloseAll()
OCILobFileExists()
OCILobFileGetName()
OCILobFileIsOpen()
OCILobFileOpen()
OCILobFileSetName()
OCILobFlushBuffer()
OCILobFreeTemporary()
OCILobGetChunkSize()
OCILobGetLength()
OCILobIsEqual()
OCILobIsOpen()
OCILobIsTemporary()
OCILobLoadFromFile()
OCILobLocatorAssign()
OCILobLocatorIsInit()
OCILobOpen()
OCILobRead()
OCILobTrim()
OCILobWrite()
OCILobWriteAppend()
Advanced Queuing and Publish-Subscribe Functions
OCIAQDeq()
OCIAQEnq()
OCIAQListen()
OCISubscriptionDisable()
OCISubscriptionEnable()
OCISubscriptionPost()
OCISubscriptionRegister()
OCISubscriptionUnRegister()
Direct Path Loading Functions
OCIDirPathAbort()
OCIDirPathColArrayEntryGet()
OCIDirPathColArrayEntrySet()
OCIDirPathColArrayRowGet()
OCIDirPathColArrayReset()
OCIDirPathColArrayToStream()
OCIDirPathDataSave()
OCIDirPathFinish()
OCIDirPathFlushRow()
OCIDirPathLoadStream()
OCIDirPathPrepare()
OCIDirPathStreamReset()
Thread Management Functions
OCIThreadClose()
OCIThreadCreate()
OCIThreadHandleGet()
OCIThreadHndDestroy()
OCIThreadHndInit()
OCIThreadIdDestroy()
OCIThreadIdGet()
OCIThreadIdInit()
OCIThreadIdNull()
OCIThreadIdSame()
OCIThreadIdSet()
OCIThreadIdSetNull()
OCIThreadInit()
OCIThreadIsMulti()
OCIThreadJoin()
OCIThreadKeyDestroy()
OCIThreadKeyGet()
OCIThreadKeyInit()
OCIThreadKeySet()
OCIThreadMutexAcquire()
OCIThreadMutexDestroy()
OCIThreadMutexInit()
OCIThreadMutexRelease()
OCIThreadProcessInit()
OCIThreadTerm()
Transaction Functions
OCITransCommit()
OCITransDetach()
OCITransForget()
OCITransMultiPrepare()
OCITransPrepare()
OCITransRollback()
OCITransStart()
Miscellaneous Functions
OCIBreak()
OCIErrorGet()
OCILdaToSvcCtx()
OCINlsEnvironmentVariableGet()
OCIPasswordChange()
OCIReset()
OCIRowidToChar()
OCIServerVersion()
OCISvcCtxToLda()
OCIUserCallbackGet()
OCIUserCallbackRegister()
17 OCI Navigational and Type Functions
Introduction to the Navigational and Type Functions
Object Types and Lifetimes
Terminology
The Function Syntax
Navigational Function Return Values
Server Round-trips for Cache and Object Functions
Navigational Function Error Codes
OCI Flush or Refresh Functions
OCICacheFlush()
OCICacheRefresh()
OCIObjectFlush()
OCIObjectRefresh()
OCI Mark or Unmark Object and Cache Functions
OCICacheUnmark()
OCIObjectMarkDelete()
OCIObjectMarkDeleteByRef()
OCIObjectMarkUpdate()
OCIObjectUnmark()
OCIObjectUnmarkByRef()
OCI Get Object Status Functions
OCIObjectExists()
OCIObjectGetProperty()
OCIObjectIsDirty()
OCIObjectIsLocked()
OCI Miscellaneous Object Functions
OCIObjectCopy()
OCIObjectGetAttr()
OCIObjectGetInd()
OCIObjectGetObjectRef()
OCIObjectGetTypeRef()
OCIObjectLock()
OCIObjectLockNoWait()
OCIObjectNew()
OCIObjectSetAttr()
OCI Pin, Unpin, and Free Functions
OCICacheFree()
OCICacheUnpin()
OCIObjectArrayPin()
OCIObjectFree()
OCIObjectPin()
OCIObjectPinCountReset()
OCIObjectPinTable()
OCIObjectUnpin()
OCI Type Information Accessor Functions
OCITypeArrayByName()
OCITypeArrayByRef()
OCITypeByName()
OCITypeByRef()
18 OCI Datatype Mapping and Manipulation Functions
Introduction to Datatype Mapping and Manipulation Functions
The Function Syntax
Datatype Mapping and Manipulation Function Return Values
Functions Returning Other Values
Server Round-trips for Datatype Mapping and Manipulation Functions
Examples
OCI Collection and Iterator Functions
OCICollAppend()
OCICollAssign()
OCICollAssignElem()
OCICollGetElem()
OCICollIsLocator()
OCICollMax()
OCICollSize()
OCICollTrim()
OCIIterCreate()
OCIIterDelete()
OCIIterGetCurrent()
OCIIterInit()
OCIIterNext()
OCIIterPrev()
OCI Date, Datetime, and Interval Functions
OCIDateAddDays()
OCIDateAddMonths()
OCIDateAssign()
OCIDateCheck()
OCIDateCompare()
OCIDateDaysBetween()
OCIDateFromText()
OCIDateGetDate()
OCIDateGetTime()
OCIDateLastDay()
OCIDateNextDay()
OCIDateSetDate()
OCIDateSetTime()
OCIDateSysDate()
OCIDateToText()
OCIDateTimeAssign()
OCIDateTimeCheck()
OCIDateTimeCompare()
OCIDateTimeConstruct()
OCIDateTimeConvert()
OCIDateTimeFromArray()
OCIDateTimeFromText()
OCIDateTimeGetDate()
OCIDateTimeGetTime()
OCIDateTimeGetTimeZoneName()
OCIDateTimeGetTimeZoneOffset()
OCIDateTimeIntervalAdd()
OCIDateTimeIntervalSub()
OCIDateTimeSubtract()
OCIDateTimeSysTimeStamp()
OCIDateTimeToArray()
OCIDateTimeToText()
OCIDateZoneToZone()
OCIIntervalAdd()
OCIIntervalAssign()
OCIIntervalCheck()
OCIIntervalCompare()
OCIIntervalDivide()
OCIIntervalFromNumber()
OCIIntervalFromText()
OCIIntervalFromTZ()
OCIIntervalGetDaySecond()
OCIIntervalGetYearMonth()
OCIIntervalMultiply()
OCIIntervalSetDaySecond()
OCIIntervalSetYearMonth()
OCIIntervalSubtract()
OCIIntervalToNumber()
OCIIntervalToText()
OCI Number Functions
OCINumberAbs()
OCINumberAdd()
OCINumberArcCos()
OCINumberArcSin()
OCINumberArcTan()
OCINumberArcTan2()
OCINumberAssign()
OCINumberCeil()
OCINumberCmp()
OCINumberCos()
OCINumberDec()
OCINumberDiv()
OCINumberExp()
OCINumberFloor()
OCINumberFromInt()
OCINumberFromReal()
OCINumberFromText()
OCINumberHypCos()
OCINumberHypSin()
OCINumberHypTan()
OCINumberInc()
OCINumberIntPower()
OCINumberIsInt()
OCINumberIsZero()
OCINumberLn()
OCINumberLog()
OCINumberMod()
OCINumberMul()
OCINumberNeg()
OCINumberPower()
OCINumberPrec()
OCINumberRound()
OCINumberSetPi()
OCINumberSetZero()
OCINumberShift()
OCINumberSign()
OCINumberSin()
OCINumberSqrt()
OCINumberSub()
OCINumberTan()
OCINumberToInt()
OCINumberToReal()
OCINumberToText()
OCINumberTrunc()
OCI Raw Functions
OCIRawAllocSize()
OCIRawAssignBytes()
OCIRawAssignRaw()
OCIRawPtr()
OCIRawResize()
OCIRawSize()
OCI Ref Functions
OCIRefAssign()
OCIRefClear()
OCIRefFromHex()
OCIRefHexSize()
OCIRefIsEqual()
OCIRefIsNull()
OCIRefToHex()
OCI String Functions
OCIStringAllocSize()
OCIStringAssign()
OCIStringAssignText()
OCIStringPtr()
OCIStringResize()
OCIStringSize()
OCI Table Functions
OCITableDelete()
OCITableExists()
OCITableFirst()
OCITableLast()
OCITableNext()
OCITablePrev()
OCITableSize()
19 OCI Cartridge Functions
Introduction to External Procedure and Cartridge Services Functions
The Function Syntax
Return Codes
With_Context Type
Cartridge Services -- OCI External Procedures
OCIExtProcAllocCallMemory()
OCIExtProcRaiseExcp()
OCIExtProcRaiseExcpWithMsg()
OCIExtProcGetEnv()
Cartridge Services -- Memory Services
OCIDurationBegin()
OCIDurationEnd()
OCIMemoryAlloc()
OCIMemoryResize()
OCIMemoryFree()
Cartridge Services -- Maintaining Context
OCIContextSetValue()
OCIContextGetValue()
OCIContextClearValue()
OCIContextGenerateKey()
Cartridge Services -- Parameter Manager Interface
OCIExtractInit()
OCIExtractTerm()
OCIExtractReset()
OCIExtractSetNumKeys()
OCIExtractSetKey()
OCIExtractFromFile()
OCIExtractFromStr()
OCIExtractToInt()
OCIExtractToBool()
OCIExtractToStr()
OCIExtractToOCINum()
OCIExtractToList()
OCIExtractFromList()
Cartridge Services -- File I/O Interface
OCIFileObject
OCIFileInit()
OCIFileTerm()
OCIFileOpen()
OCIFileClose()
OCIFileRead()
OCIFileWrite()
OCIFileSeek()
OCIFileExists()
OCIFileGetLength()
OCIFileFlush()
Cartridge Services -- String Formatting Interface
OCIFormatInit()
OCIFormatTerm()
OCIFormatString()
Format Modifiers
Format Codes
Example
20 OCI Any Type and Data Functions
Introduction to Any Type and Data Interfaces
The Function Syntax
Function Return Values
OCI Type Interface Functions
OCITypeAddAttr()
OCITypeBeginCreate()
OCITypeEndCreate()
OCITypeSetBuiltin()
OCITypeSetCollection()
OCI Any Data Interface Functions
OCIAnyDataAccess()
OCIAnyDataAttrGet()
OCIAnyDataAttrSet()
OCIAnyDataBeginCreate()
OCIAnyDataCollAddElem()
OCIAnyDataCollGetElem()
OCIAnyDataConvert()
OCIAnyDataDestroy()
OCIAnyDataEndCreate()
OCIAnyDataGetCurrAttrNum()
OCIAnyDataGetType()
OCIAnyDataIsNull()
OCIAnyDataTypeCodeToSqlt()
OCI Any Data Set Interface Functions
OCIAnyDataSetAddInstance()
OCIAnyDataSetBeginCreate()
OCIAnyDataSetDestroy()
OCIAnyDataSetEndCreate()
OCIAnyDataSetGetCount()
OCIAnyDataSetGetInstance()
OCIAnyDataSetGetType()
Part IV Appendixes
A Handle and Descriptor Attributes
Conventions
Environment Handle Attributes
Error Handle Attributes
Service Context Handle Attributes
Server Handle Attributes
Authentication Information Handle
User Session Handle Attributes
Connection Pool Handle Attributes
Session Pool Handle Attributes
Transaction Handle Attributes
Statement Handle Attributes
Bind Handle Attributes
Define Handle Attributes
Describe Handle Attributes
Parameter Descriptor Attributes
LOB Locator Attributes
Complex Object Attributes
Complex Object Retrieval Handle Attributes
Complex Object Retrieval Descriptor Attributes
Advanced Queuing Descriptor Attributes
OCIAQEnqOptions Descriptor Attributes
OCIAQDeqOptions Descriptor Attributes
OCIAQMsgProperties Descriptor Attributes
OCIAQAgent Descriptor Attributes
OCIServerDNs Descriptor Attributes
Subscription Handle Attributes
Direct Path Loading Handle Attributes
Direct Path Context Handle (OCIDirPathCtx) Attributes
Direct Path Function Context Handle (OCIDirPathFuncCtx) Attributes
Direct Path and Direct Path Function Column Array Handle (OCIDirPathColArray) Attributes
Direct Path Stream Handle (OCIDirPathStream) Attributes
Direct Path Column Parameter Attributes
Process Handle Attributes
B OCI Demonstration Programs
C OCI Function Server Round-trips
Overview of Server Round-trips
Relational Function Round-trips
LOB Function Round-trips
Object and Cache Function Round-trips
Describe Operation Round-trips
Datatype Mapping and Manipulation Function Round-trips
Any Type and Data Function Round-trips
Other Local Functions
Index
Copyright © 1996, 2002 Oracle Corporation.
All Rights Reserved.
Home
Book List
Index
Master Index
Feedback