Skip Headers

Oracle® Call Interf ace Programmer's Guide
10g Release 1 (10.1)

Part Number B10779-01

Home
Go to Book List
Book List
Go to Index
Index
Go to Master Index
Master Index

Feedback

Go to next page
Next
View PDF

Contents

Title and Copyright Information

Send Us Your Comments

Preface

Audience
Organization
Related Documentation
Conventions
Documentation Accessibility

What's New in Oracle Call Interface?

New Features in Oracle Call Interface Release 10.1
Oracle9i Release 2 (9.2) New Features in Oracle Call Interface
Oracle9i Release 1 (9.0.1) New Features in Oracle Call Interface
Oracle9i Release 9.0.0 New Features in Oracle Call Interface

Part I OCI Relational Concepts

1 Introduction and Upgradin g

Overview of OCI
Advantages of OCI
Building an OCI Application
Parts of OCI
Procedural and Non-Procedural Elements
Obj ect Support
SQL Statements
Encapsulated Interfaces
Simplified User Authentication and Password Management
Extensions to Improve Application Performance and Scalability
OCI Object Support
Cli ent-Side Object Cache
Associative and Navigational Interfaces
OCI Runtime Environment for Objects
Type Management, Mapping and Manipulation Functions
Object Type Translato r
OCI Support for Oracle Streams Advanced Queuing
XA Library Support
Compatibility and Upgrading
Simplified Upgradin g of Existing OCI Release 7 Applications
Statically-Linked and Dynamically-L inked Applications
Obsolete OCI Routines
OCI Routines Not Supported
Compatibility Between Diffe rent Releases of OCI and Servers
Upgrading OCI
OCI Instant Client
Benefits of Instant Client
OCI Instant Client Inst allation Process
When to Use Instant Client
Patching Instant Client Shared Libraries
Regenerati on of Data Shared Library
Database Connection Names for OCI Instant Client
Environment Variables for OCI Instant Client

2 OCI Programming Basics

Overview of OCI Programming
OCI Program Structure
OCI Data Structures
Handles
Allocating and Freeing Handles< /a>
Environment Handle
Error Handle
Service Context and Associated Handles
Statement, Bind, and Define Handles
Describ e Handle
Complex Object Retrieval Handle
Thread Handle
Subscription Handle
Direct Path Handles
Connection Pool Han dle
Handle Attributes
OCI Descriptors
Sn apshot Descriptor
LOB and BFILE Locators
Parameter Descriptor
ROWID Descriptor
Date, Datetime, and Interval Descriptors
Complex Object Descriptor
Advanced Queuing Descriptors
User Memory Allocation
OCI Programming Steps
OCI Environment Initialization
Creating the OCI Environm ent
Allocating Handles and Descriptors
Application Initialization, Connection, and Session Creation
Processing SQL Statements in OCI
Commit or Rollback
Terminating the Application
Error Handling in OCI
Return and Error Codes for Data
Functions Returning Other Values
Addit ional Coding Guidelines
Parameter Types
Inserting Nulls into a Column
I ndicator Variables
Canceling Calls
Positioned Updates and Deletes
Reserved Words
< /dd>
Nonblocking Mode in OCI
Using PL/SQL in an OCI Program
OCI Globalization Support
Client Character Set Control from OCI
Code Example for Character Set Control in OCI
Character Control and OCI Interfaces
Character Length Semantics in OCI
Chara cter Set Support in OCI
Other OCI Globalization Support Functions
< dd class="H2TOC">Getting Locale Information in OCI
Example of Getting Locale Information in OCI
Manipulating Strings in OC I
Example of Manipulating Strings in OCI
Example of Classifying Characters in OCI
Converting Ch aracter Sets in OCI
Example of Converting Character Sets in OCI
OCI Messaging Functions
Example of Retrieving a Message from a Text Message File
lmsgen Utility

3 Datatypes

Oracle Datatypes
Using External Datatype Codes
Internal Datatypes
LONG, RAW, LONG RAW, VARCHAR2
Character Strings and Byte Arrays
UROWID
BINARY_FLOAT and B INARY_DOUBLE
External Datatypes
VARCHAR2
NUMBER
INTEGER
FLO AT
STRING
VARNUM
LONG
VARCHAR
DATE
RAW
VARRAW
LONG RAW
UNSIGNED
LONG VARCHAR
LONG VARRAW
CHAR
CHARZ
Named Datatypes: Object, VARRAY, Nested Table
REF
RO WID Descriptor
LOB Descriptor
Datetime and Interval Datatype Descriptors
Native Float and Nativ e Double
C Object-Relational Datatype Mappings
Data Conversions
Data Conversions for LOB Datatype Descriptors
Data C onversions for Datetime and Interval Datatypes
Datetime and Date Upgrading R ules
Data Conversion for BINARY_FLOAT and BINARY_DOUBLE in OCI
Typecodes
Relationship Between SQLT and OCI_TYPECODE Values
Definitions in oratypes.h

4 Using SQL Statements in OCI

Overview of SQL Statement Processing
Preparing Statements
Using Prepared Statements on Multiple Servers
Binding Placeholders in OCI
Executing Statements
Execution Snapshots
Execution Modes of OCIStmtExecute()
Describing Select-list Items
Implicit Describe
Explicit Describe of Queries
Defining Output Variables in OCI
Fetching Results
Fetching LOB Data
Setting Prefetch Count
Scrollable Cursors in OCI
Example of Access on a Scrollable Cursor

5 Binding and Defining in OCI

Overview of Binding in OCI
Named Binds and Positional Binds
OCI Array Interface
Binding Placeholders in PL/SQL
Steps Used in OCI Binding
PL/SQL Block in a n OCI Program
Advanced Bind Operations in OCI
Binding LOBs
Binding in OCI_DATA_AT_EXEC Mode
Binding Ref Cursor Varia bles
Overview of Defining in OCI
Steps Used in OCI Defining
Advanced OCI Defines
Adva nced Define Operations in OCI
Defining LOB Output Va riables
Defining PL/SQL Output Variables
Defining for a Piecewise Fetch
Binding and Defining Arrays of Structures in OCI
Skip Parameters
OCI Calls Used with Arrays of Structures
Arrays of Structures and Indicator Variables
DML with RETURNING Clause in OCI
Using DML with RETURNING Clause
Binding RETURNING... INTO variables
OCI Error Handling
DML with RETURNING REF...INTO Clause in OCI
Additional Notes About OCI Callbacks
Array Interface for DML RETURNING Statements in OCI< /dd>
Character Conversion in OCI Binding and Defining< /a>
Choosing Character Set
Setting Client Character Sets in OCI
Using OCI_A TTR_MAXDATA_SIZE Attribute
Using OCI_ATTR_MAXCHAR_SIZE Attribute
Buffer Expansion During OCI Binding
Constraint Checking During Defining
General Compatibility Issues for C haracter Length Semantics in OCI
PL/SQL REF C URSORs and Nested Tables in OCI
Runtime Data A llocation and Piecewise Operations in OCI
Valid Data types for Piecewise Operations
Types of Piecewise Operations
Providing INSERT or UPDATE Data at Runtime
Piecewise Operations with PL/SQL
Providing FETCH Information at Run time
Piecewise Binds and Defines for LOBs

6 Describing Schema Metadata

Using OCIDescribeAny()
Limitations on OCIDescribeAny()
Notes on Types and Attributes
Param eter Attributes
Table Or View Parameters
Procedure, Function, Subprogram Attributes
Package Attributes
Type Attributes
< a href="oci06des.htm#440334">Type Attribute Attributes
Type Method Attribute s
Collection Attributes
Synonym Attributes
Sequence Attributes
Column Attributes
Argument and Result Attributes
List Attributes
Schem a Attributes
Database Attributes
Rule Attributes
Rule Set Attributes
Evaluation Context Attributes
Table Alias Att ributes
Variable Type Attributes
Name Value Attributes
Character Length Semantics Support in Describing
Implicit Des cribing
Explicit Describing
Examples Using OCIDescribeAny()
Retrieving Column Datatypes for a Table
Describing the S tored Procedure
Retrieving Attributes of an Object Type
Retrieving the Collection Element's Datatype of a Named Collection Type
Describing with Character Length Semantics

7 LOB and BFILE Operations

Using OCI Functions for LOBs
Creating and Modifying Persistent LOBs
Associating a BFILE in a Table with an Operating System File
LOB Attributes of an Object
Writing to a LOB Attribute of an Object
Transient O bjects with LOB Attributes
Array Interface fo r LOBs
Using LOBs of Size Greater than 4 GB
New Functions for the Increased LOB Sizes
Compatibility and Migration
LOB and BFILE Functions in OCI
Improving LOB Read/Write Performance
LOB Buffering Functions
Functions for Opening and Closing LOBs
LOB Read and Write Callbacks
Temp orary LOB Support
Creating and Freeing Temporary LOB s
Temporary LOB Durations
Take Care When Assigning Pointers
Temporary LOB Example

8 Managing Scalable Platforms

OCI Support for Transactions
Levels of Transactional Complexity
Simple Local Transactions
Global Transactions
Transaction Examples
Initialization Parameters
Password and Session Management
OCI Authentication Management
OCI Password Management
OCI Session Management
Middle-Tier Applications in OCI
OCI Attributes for Middle-Tier Applications
OCI Middle-Tier Example
End-to-End Application Tracing
Externally Initialized Context in OCI
Externally Initialized Context Attributes in OCI
Using OCI SessionBegin() with an Externally initialized Context

9 OCI Programming Advanced Topics

Overview of OCI Multithreaded Development
Advantages of OCI Thread Safety
OCI Thread Safety and Three-Tier Architectures
Implementing Thread Safety
The OCIThread Package
Initialization and Termination
Passive Threading Primitives
Active Threading Primitives
Connection Pooling in OCI
OCI Connection Pooling Concepts
O CI Calls for Connection Pooling
Examples of OCI Connection Pooling
< /dl>
Session Pooling in OCI
Functionality of OCI Session Pooling
Homogeneous and Heterogeneous Session Pools
Using Tags in Session Pools
OCI Handles for Session Pooling
Using OCI Session Pooling
OCI Calls for Session Pooling< /a>
Example of OCI Session Pooling
When to Use Connection Pooling, Session Pooling, or Neither
Functions for Session Creation
Choosing Between Different Types of OCI Sessions
Statement Caching in OCI
Statement Caching without Session Pooling in OCI
Statement Caching with Session Pooling in OC I
Rules for Statement Caching in OCI
OCI Statement Caching Code Example
User-Defined Callback Functions in OCI
Regis tering User Callbacks in OCI
OCI Callbacks from External Procedures
Application Failover Callbacks in OCI < dl class="H2TOC">
Failover Callback Overview
Failover Callback Structure and Parameters
Failover Callbac k Registration
Failover Callback Example
Handling OCI_FO_ERROR
O CI and Streams Advanced Queuing
OCI Streams Advanced Queuing Functions
OCI Streams Advanced Queuing Descriptors
Streams Advanced Queuing in OCI Versus PL/SQL
Publish-Subscribe Notification in OCI
Publish-Subscribe Registration Functions in OCI
Notification Callback in OCI
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 Obje ct Program Structure
Persistent Objects, Transient Objects, and Values
Developing an OCI Object Application
Representing Objects in C Applications
Initializing Environment and Object Cache
Mak ing Database Connections
Retrieving an Object Reference from the Server< /dd>
Pinning an Object
Manip ulating Object Attributes
Marking Objects and Flushing Changes
Fetching Embedded Objects
Object Meta-Attributes
Complex Object Retrieval
COR Prefetching
OCI Versus SQL Access to Objects< /dd>
Pin Count and Unpinning
NULL Indicator Structure
Creating Objects
Freeing and Copying Objects
Object Reference and Typ e Reference
Creating Objects Based on Object Views or User-Defined OIDs< /dd>
Error Handling in Object Applications
Type Inheritance
Substitutability
NOT INSTANTIABLE Types and Methods
OCI Support for Type Inheritance
OTT Support for Type Inheritance
Type Evolut ion

11 Object-Rel ational Datatypes in OCI

Over view of OCI Functions for Objects
Mapping Orac le Datatypes to C
OCI Type Mapping Methodology
Manipulating C Datatypes with OCI
Precision of Oracle Number Operations
Date (OCIDate)
Date Example
Datetime an d Interval (OCIDateTime, OCIInterval)
Datetime Funct ions
Datetime Example
Interval Functions
Number (OCINumber)< /strong>
Number Example
Fixed or Variable-Length String (OCIString)
String Functions
String Example
Raw (OCIRaw)
Raw Functions
Raw Example
Collections (OCITable, OCIArray, OCIColl, OCIIter)< /a>
Generic Collection Functions
Collection Data Manipulation Functions
Col lection Scanning Functions
Varray/Collection Iterator Example
Nested Table Manipulation Functions
Nested Table Locators
Multilevel Collectio n Types
Multilevel Collection Type Example
< /dl>
REF (OCIRef)
REF Manipulation Functions
REF Examp le
Object Type Information Storage and Access
Descriptor Objects
AnyType, AnyData and AnyDataSet Interfaces
< dd class="H2TOC">Type Interfaces
OCIAnyData In terfaces
NCHAR Typecodes for OCIAnyData Functions
OCIAnyDataSet Interfaces
Binding Named Datatypes
Named Datatype Bi nds
Binding REFs
In formation for Named Datatype and REF Binds
De fining Named Datatypes
Defining Named Datatype Outpu t 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 Ex amples
SQLT_NTY Bind/Define Example
Bind Example
Define Example

12 Direct Path Loading

Direct Path Loading Overview
Datatypes Supported f or Direct Path Loading
Direct Path Handles
Direct Path Interface Functions
Limitations and Rest rictions of the Direct Path Load Interface
Direct Path Load Example for Scal ar 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 Obje ct 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 P ath Column Parameter Attributes
Direct Path Function Column Array Handle for Non-scalar Columns

13 Object Advanced Topics in OCI

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 L ocking
Commit and Rollback in Object Applications
Object Duration
Memory Layout of an Instance< /a>
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
OCI Support for XML
XML Context
XML Data on the Server
Using OCI XML DB Functions

14 Using the Object Type Translator with OCI

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< /a>
OTT Type Mapping Example
Null Indicator Structs
OTT Support for Type Inheritance
< /dd>
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 Paramete rs
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
< /dd>

Part III OCI Reference

15 OCI Relational Functions

Introduction to the Relational Func tions
Connect, Authorize, and Initialize Funct ions
OCIConnectionPoolCreate()
OCIConnectionPoolDestroy()
OCIEnvCreate( )
OCIEnvInit()
OCIE nvNlsCreate()
OCIInitialize()
OCILogoff()
OCILogon()
OCILogon2()
OCIServerAttach()
OCIServerDetach()
OCISessionBegin()
OCISessionEnd()
OCISessionGet()
OCISessionPoolCreate()
OCISessionPoolDestroy()
OCISessionRelease()
OCITerminate()
Ha ndle and Descriptor Functions
OCIAttrGet()
OCIAttrSet()
OCIDescriptorAl loc()
OCIDescriptorFree()
OCIHandleAlloc()
OCIHandleFree()
OCIParamGet()
OCIParamSet()
Bind, Define, and Describe Functions
OCIBindArrayOfStruct()
OCIBind ByName()
OCIBindByPos()
OCIBindDynamic()
OCIBindObject()
OCIDefineArrayOfStruct()
OCIDefineByPos()
OCIDefineDynamic()
OCIDefineObject ()
OCIDescribeAny()
OCIStmtGetBindInfo()

16 More OCI Relational Functions

Introduction to More Relational Functions
Statement Functions
OCIStmtExecute()
OCIStmtFetch()
OCIStmtFetch2 ()
OCIStmtGetPieceInfo()
OCIStmtPrepare()
OCIStmtPrepare2()
OCIStmtRelease()
OCIStmtSetPieceInfo()
LOB Functions
OCIDurationBegin()
OCIDurationEnd()
OCILobAppend()
OCILobAss ign()
OCILobCharSetForm()
OCILobCharSetId()
OCILobClose()
OCILobCopy()
OCILobCopy2()
OCILobCreateTemporary()
OCILobDisableBuffering()
OCILobEnableBuffering()
OCILobErase()
OCILobErase2()
OCILobFileClose()
OCILobFileCloseAll()
OCILobFileExists()
OCILobFileGetName()
OCILobFileIsOpen()
O CILobFileOpen()
OCILobFileSetName()
OCILobFlushBuffer()
OCILobFreeTemporary()
OCILobGetChunkSize()
OCILobGetLength ()
OCILobGetLength2()
OCILobGetStorageLimit()
OCILobIsEqual()
OCILobIsOpen()
OCILobIsTemporary()
OCILobLoadFromFile()
OCILobLoadFromF ile2()
OCILobLocatorAssign()
OCILobLocatorIsInit()
OCILobOpen()
OCILobRead()
OCILobRead2()
OCILobTrim()
OCILobTrim2()
OCILobWrite()
OCILobWrite2()
OCILobWriteAppend()
OCIL obWriteAppend2()
Streams Advanced Queuing and Publish-Subscribe Functions
OCIAQDeq()
OCIAQDeqArray()
OCIAQEnq()< /dd>
OCIAQEnqArray()
OCIAQLi sten()
OCISubscriptionDisable()
OCISubscriptionEnable()
OCISubscriptionPost()
OCISubscriptionRegister()
OCISubscri ptionUnRegister()
Direct Path Loading Functio ns
OCIDirPathAbort()
OCIDirPathColArrayEntryGet()
OCIDirPathColArrayEnt rySet()
OCIDirPathColArrayRowGet()
OCIDirPathColArrayReset()
OCIDirPathColArrayToStream()
OCIDirPathDataSave()
OCI DirPathFinish()
OCIDirPathFlushRow()
OCIDirPathLoadStream()
OCIDirPathPrepare()
OCIDirPathStreamReset()
Thread Management Functions
OCI ThreadClose()
OCIThreadCreate()
OCIThreadHandleGet()
OCIThreadHndDestroy()
OCIThreadHndInit()
OCIThreadIdDestroy()
OCIThreadIdGet()
O CIThreadIdInit()
OCIThreadIdNull()
OCIThreadIdSame()
OCIThreadIdSet()
OCIThreadIdSetNull()
OCIThreadInit()
OCIThreadIsMulti()
OCIThre adJoin()
OCIThreadKeyDestroy()
OCIThreadKeyGet()
OCIThreadKeyInit()
OCIThreadKeySet()
OCIThreadMutexAcquire()< /dd>
OCIThreadMutexDestroy()
OCIThreadMutexInit()
OCIThreadMutexRelease()
OCIThreadProcessInit()
OCIThreadTerm()
Transaction Functions
OCITransCommit()
OCITransDet ach()
OCITransForget()
OCITransMultiPrepare()
OCITransPrepare()
OCITransRollback()
OCITransStart()
Miscellaneous Functions
OCIBreak()
OCIErrorGet()
OCILdaToSvcCtx()
OCIPassw ordChange()
OCIReset()
OCIRowidToChar()
OCIServerVersion()
OCISvcCtxToLda()
OCIUserCallbackGet()
OCIUserCallbackRegister()

17 OCI Navigational and Type Functions

Introduction to the Navigational and Type Functions
OCI Flush or Refresh Functions
OCICacheFlush()
OCICacheRefresh ()
OCIObjectFlush()
OCIObjectRefresh()
OCI Mark or Unmark Object and Cache Functions
OCICacheUnmark()
OCIObjectMarkDelete()
OCIObjectMa rkDeleteByRef()
OCIObjectMarkUpdate()
OCIObjectUnmark()
OCIObjectUnmarkByRef()
OCI Get Object Status Functions
OCIObjectExists()
OCIObj ectGetProperty()
OCIObjectIsDirty()
OCIObjectIsLocked()
OCI Misc ellaneous Object Functions
OCIObjectCopy()
OCIObjectGetAttr()
OCIObject GetInd()
OCIObjectGetObjectRef()
OCIObjectGetTypeRef()
OCIObjectLock()
OCIObjectLockNoWait()
OCIObjectNew()
OCIObjectSetAttr()
OCI Pin, Unpin, and Free Functions
OCICacheFree()
OCICacheUnpin()
OCIObjectArrayPin()
OCIObjectFree()
OCIObjectPin()
OCIObjectPinCountReset()
OCIObjectPinTable()
OCIObjectUnpin()
OCI Type Information Acces sor Functions
OCITypeArrayByName()
OCITypeArrayByRef()
OCITypeByName()< /a>
OCITypeByRef()

18 OCI Datatype Mapping and Manipulation Functions

Introduction to Datatype Mapping and Manipulation Funct ions
OCI Collection and Iterator Functions
OCICollAppend()
OCICollAssign()
OCICollAssignElem()
OCICollGetElem()
OCICollGetElemArray()
OCICollIsLocator()
OC ICollMax()
OCICollSize()
OCICollTrim()
OCIIterCreate()
OCIIterDelete()
OCIIterGetCurrent()
OCIIterInit()
OCIIterNext()
OCIIterPrev()
OCI Date, Datetime, and Interval Functions
OCIDateAddDays()
OCIDateAddMonths()
OCIDateAssign()
OCIDateCheck()
OCIDateCompare()
OCIDateDaysBetween()
OCIDateFromText()
OCIDate GetDate()
OCIDateGetTime()
OCIDateLastDay()
OCIDateNextDay()
OCIDateSetDate()
OCIDateSetTime()
OCIDateSysDate()
OCIDateToText()
OCIDateTimeAssign()
OCID ateTimeCheck()
OCIDateTimeCompare()
OCIDateTimeConstruct()
OCIDateTimeConvert()
OCIDateTimeFromArray()
OCIDateTime FromText()
OCIDateTimeGetDate()
OCIDateTimeGetTime()
OCIDateTimeGetTimeZoneName()
OCIDateTimeGetTimeZoneOffset()
O CIDateTimeIntervalAdd()
OCIDateTimeIntervalSub()
OCIDateTimeSubtract()
OCIDateTimeSysTimeStamp( )
OCIDateTimeToArray()
OCIDateTimeToText()
OCIDateZoneToZone()
OCIIntervalAdd()
OCIIntervalAssign()
OCIIntervalCheck()
OCIIntervalCom pare()
OCIIntervalDivide()
OCIIntervalFromNumber()
OCIIntervalFromText()
OCIIntervalFromTZ()
OCIIntervalGetDaySeco nd()
OCIIntervalGetYearMonth()
OCIIntervalMultiply()
OCIIntervalSetDaySecond()
OCIIntervalSetYearMonth()
OCIInterv alSubtract()
OCIIntervalToNumber()
OCIIntervalToText()
OCI NUMBE R Functions
OCINumberAbs()
OCINumberAdd()
OCINumberArcCos()
OCINumberArcSin()
OCINumberArc Tan()
OCINumberArcTan2()
OCINumberAssign()
OCINumberCeil()
OCINumberCmp()
OCINumberCos()
OCINumberDec()
OCINumberDiv()
OCINumberExp()
OCINumberFloor()
OCINumberFromInt()
O CINumberFromReal()
OCINumberFromText()
OCINumberHypCos()
OCINumberHypSin()
OCINumberHypTan()
OCINumberInc()
OCINumberIntPower()
OCINu mberIsInt()
OCINumberIsZero()
OCINumberLn()
OCINumberLog()
OCINumberMod()
OCINumberMul()
OCINumberNeg()
OCINumberPower()
OCINumberPrec()
OCINumberRound( )
OCINumberSetPi()
OCINumberSetZero()
OCINumberShift()
OCINumberSign()
OCINumberSin()
< a href="oci18ma5.htm#426922">OCINumberSqrt()
OCINumberSub()
OCINumberTan()
OCINumberToInt()
OCINumberToReal()
OCIN umberToRealArray()
OCINumberToText()
OCINumberTrunc()
OCI Raw Fu nctions
OCIRawAllocSize()
OCIRawAssignBytes()
OCIRawAssignRaw()
OCIRawPtr()
OCIRawResize()
OCIRawSize()
OCI Ref Functions
OCIRefAs sign()
OCIRefClear()
OCIRefFromHex()
OCIRefHexSize()
OCIRefIsEqual()
OCIRefIsNull()
OCIRefToHex()
OCI String Functions
OCIStringAllocSize()
OCIStringAssign()
OCIStringAssign Text()
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< /dd>
Cartridge Services -- OCI External Procedures
OCIExtProcAllocCallMemory()
OCIExtProcRaiseExcp()
OCIExtProcRaiseExcpWithMsg()
OCIExtProcGetEnv()
Cartridge Services -- Memory Services
OCIDurationBegin()
OCIDurationEnd()
< a href="oci19ex4.htm#448254">OCIMemoryAlloc()
OCIMemoryResize()
OCIMemoryFree()
Cartridge Services -- Maintaining Context
OCIContextSetValue()
OCIContextGetValue()
< a href="oci19ex5.htm#448742">OCIContextClearValue()
OCIContextGenerateKey()< /a>
Cartridge Services -- Parameter Manager Inter face
OCIExtractInit()
OCIExtractTerm()
OCIExtractReset()
OCIExtractSetNumKeys()
OCIExtract SetKey()
OCIExtractFromFile()
OCIExtractFromStr()
OCIExtractToInt()
OCIExtractToBool()
OCIExtractToStr()
OCIExtractToOCINum()
OCIExtr actToList()
OCIExtractFromList()
Cartridge Services -- File I/O Interface
OCIFileInit()
OCIFileTerm()
OCIFileOpen()
OCIFileClose()< /dd>
OCIFileRead()
OCIFileWr ite()
OCIFileSeek()
OCIFileExists()
OCIFileGetLength()
OCIFileFlush()
Cartridge Ser vices -- String Formatting Interface
OCIFormatInit()
OCIFormatTerm()
OC IFormatString()
Format Modifiers
Format Codes
Example

20 OCI Any Type and Data Functions

Introduction to Any Type and Data Interfaces
OCI Type Interface Functions
OCITypeAddAttr()
O CITypeBeginCreate()
OCITypeEndCreate()
OCITypeSetBuiltin()
OCITypeSetCollection()
OCI Any Data Interface Functions
OCIAnyDataAccess()
O CIAnyDataAttrGet()
OCIAnyDataAttrSet()
OCIAnyDataBeginCreate()
OCIAnyDataCollAddElem()
OCIAnyDataCollGetElem()
OCI AnyDataConvert()
OCIAnyDataDestroy()
OCIAnyDataEndCreate()
OCIAnyDataGetCurrAttrNum()
OCIAnyDataGetType()
OCIAnyDa taIsNull()
OCIAnyDataTypeCodeToSqlt()
< strong class="Bold">OCI Any Data Set Interface Functions
OCIAnyDataSetAddInstance()
OCIAnyDataSetB eginCreate()
OCIAnyDataSetDestroy()
OCIAnyDataSetEndCreate()
OCIAnyDataSetGetCount()
< dd class="H2TOC">OCIAnyDataSetGetInstance()
OC IAnyDataSetGetType()

21 OCI Globalization Support Functions

Introduction to Globalization Support in OCI
OCI Locale Functions
OCINlsCharSetIdTo Name()
OCINlsCharSetNameTold()
OCINlsEnvironmentVariableGet()
OCINlsGetInfo()
OCINlsNumericInfoGet()
OCI Locale-Mapping Function
OCINls NameMap()
OCI String Manipulation Functions
OCIMultiByteInSizeToWideChar()
OCIMultiByteStrCaseConversion()
OCIMultiB yteStrCat()
OCIMultiByteStrcmp()
OCIMultiByteStrcpy()
OCIMultiByteStrlen()
OCIMultiByteStrncat()
OCIMultiByteStrnc mp()
OCIMultiByteStrncpy()
OCIMultiByteStrnDisplayLength()
OCIMultiByteToWideChar()
OCIWideCharInSizeToMultiByte()
OCIWideCharMultiByteLength()
OCIWideCharStrCaseConversion()
OCIWideCharStrcat()
OCIWideCharStr chr()
OCIWideCharStrcmp()
OCIWideCharStrcpy()
OCIWideCharStrlen()
OCIWideCharStrncat()
OCIWideCharStrncmp()
OCIWideCharStrncpy()
OCIW ideCharStrrchr()
OCIWideCharToLower()
OCIWideCharToMultiByte()
OCIWideCharToUpper()
OCI Character Classification Functions
OCIWideCharIsAlnum()
OCIWideCharIsAlpha()
OCIWideCharIsCntrl()
OCIWideCharIsDigit()
OCIWideCharIsGraph()
OCIWideCharIsLower()
OCIWideCharIsPrint()
OCIWideCharIsPunct()
OCIWideCharIsSingleByte()
OCIWideCharIsSpace()
OCIWideCharIsUpper()
OCIW ideCharIsXdigit()
OCI Character Set Conversio n Functions
OCICharSetConversionIsReplacementUsed()< /a>
OCICharSetToUnicode()
OCINlsCharSetConvert()
OCIUnicodeToCharSet()
OCI Messaging Functions
OCIMessageClose()
OCIMessageGet()
< dd class="H2TOC">OCIMessageOpen()

22 OCI XML DB Functions

Introduction to XML DB Support in OCI
OCI XML DB Functions
OCIXmlDbFreeXmlCtx()
OCIXmlDbInitXmlCtx()

A Handle and Descriptor Attributes< /h3>
Conventions
Environment Handle Attributes
Error Handle Attributes
Service Context Handle Attributes
Server Handle Attributes
Authenticati on Information Handle
User Session Handle Attr ibutes
Connection Pool Handle Attributes
Session Pool Handle Attributes
Transaction Handle Attributes
Statement Handle Attributes
Bind Handle Attributes
Define Handle Attributes
Describe Ha ndle Attributes
Parameter Descriptor Attribute s
LOB Locator Attributes
Complex Object Attributes
Complex Object Retrieval Handle Attributes
Complex Object Retrieval Descriptor Attributes
Advanced Queuing Descriptor Attributes
OCIA QEnqOptions Descriptor Attributes
OCIAQDeqOptions Descriptor Attributes< /dd>
OCIAQMsgProperties Descriptor Attributes
OCIAQAgent Descriptor Attributes
OCIServerDNs Descriptor A ttributes
Subscription Handle Attributes< /strong>
Direct Path Loading Handle Attributes
Direct Path Context Handle (OCIDirPathCtx) Attributes
< dd class="H2TOC">Direct Path Function Context Handle (OCIDirPathFuncCtx) Attributes
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

< a href="ociacrou.htm#420210">Overview of Server Round Trips
Relational Function Round Trips
LOB Function Round Trips
Object and Cache Func tion Round Trips
Describe Operation Round Trip s
Datatype Mapping and Manipulation Function R ound Trips
Any Type and Data Function Round Tr ips
Other Local Functions

D Getting Started with OCI for Window s

What Is Included in the OCI Package for Windows?
Oracle Directory Structu re for Windows
Sample OCI Programs for Windows
Compiling OCI Applications for Windows
Linking OCI Applications for Windows < dl class="H2TOC">
oci.lib
Cl ient DLL Loading When Using LoadLibrary()
Run ning OCI Applications for Windows
The Oracle X A Library
Compiling and Linking an OCI Program with the Oracle XA Library
Using XA Dynamic Registration
XA and TP Monitor Information
Using the Object Type Translator for Windows

Index