Contents
- Audience
- Organization
- Related Documentation
- Conventions
- Documentation Accessibility
- 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
- 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
- OCI Runtime Environment for Objects
- Type Management, Mapping and Manipulation Functions
- Object Type Translator
- OCI Support for Oracle Streams Advanced Queuing
- XA Library Support
- Compatibility and Upgrading
- Simplified Upgrading of Existing OCI Release 7 Applications
- Statically-Linked and Dynamically-Linked Applications
- Obsolete OCI Routines
- OCI Routines Not Supported
- Compatibility Between Different Releases of OCI and Servers
- Upgrading OCI
- OCI Instant Client
- Benefits of Instant Client
- OCI Instant Client Installation Process
- When to Use Instant Client
- Patching Instant Client Shared Libraries
- Regeneration of Data Shared Library
- Database Connection Names for OCI Instant Client
- Environment Variables for OCI Instant Client
- 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, Bind, and Define Handles
- Describe Handle
- Complex Object Retrieval Handle
- Thread Handle
- Subscription Handle
- Direct Path Handles
- Connection Pool Handle
- Handle Attributes
- OCI Descriptors
- Snapshot 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 Environment
- 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
- Additional Coding Guidelines
- Parameter Types
- Inserting Nulls into a Column
- Indicator Variables
- Canceling Calls
- Positioned Updates and Deletes
- Reserved Words
- 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
- Character Set Support in OCI
- Other OCI Globalization Support Functions
- Getting Locale Information in OCI
- Example of Getting Locale Information in OCI
- Manipulating Strings in OCI
- Example of Manipulating Strings in OCI
- Example of Classifying Characters in OCI
- Converting Character 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
- Oracle Datatypes
- Using External Datatype Codes
- Internal Datatypes
- LONG, RAW, LONG RAW, VARCHAR2
- Character Strings and Byte Arrays
- UROWID
- BINARY_FLOAT and BINARY_DOUBLE
- External Datatypes
- VARCHAR2
- NUMBER
- INTEGER
- FLOAT
- STRING
- VARNUM
- LONG
- VARCHAR
- DATE
- RAW
- VARRAW
- LONG RAW
- UNSIGNED
- LONG VARCHAR
- LONG VARRAW
- CHAR
- CHARZ
- Named Datatypes: Object, VARRAY, Nested Table
- REF
- ROWID Descriptor
- LOB Descriptor
- Datetime and Interval Datatype Descriptors
- Native Float and Native Double
- 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
- Data Conversion for BINARY_FLOAT and BINARY_DOUBLE in OCI
- Typecodes
- Relationship Between SQLT and OCI_TYPECODE Values
- Definitions in oratypes.h
- 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
- 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 an OCI Program
- Advanced Bind Operations in OCI
- Binding LOBs
- Binding in OCI_DATA_AT_EXEC Mode
- Binding Ref Cursor Variables
- Overview of Defining in OCI
- Steps Used in OCI Defining
- Advanced OCI Defines
- Advanced Define Operations in OCI
- Defining LOB Output Variables
- 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
- Character Conversion in OCI 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 OCI Binding
- Constraint Checking During Defining
- General Compatibility Issues for Character Length Semantics in OCI
- PL/SQL REF CURSORs and Nested Tables in OCI
- Runtime Data Allocation and Piecewise Operations in OCI
- Valid Datatypes for Piecewise Operations
- Types of Piecewise Operations
- Providing INSERT or UPDATE Data at Runtime
- Piecewise Operations with PL/SQL
- Providing FETCH Information at Runtime
- Piecewise Binds and Defines for LOBs
- Using OCIDescribeAny()
- Limitations on OCIDescribeAny()
- Notes on Types and Attributes
- Parameter Attributes
- Table Or View Parameters
- Procedure, Function, Subprogram Attributes
- Package Attributes
- Type Attributes
- Type Attribute Attributes
- Type Method Attributes
- Collection Attributes
- Synonym Attributes
- Sequence Attributes
- Column Attributes
- Argument and Result Attributes
- List Attributes
- Schema Attributes
- Database Attributes
- Rule Attributes
- Rule Set Attributes
- Evaluation Context Attributes
- Table Alias Attributes
- Variable Type Attributes
- Name Value Attributes
- Character Length Semantics Support in Describing
- Implicit Describing
- Explicit Describing
- Examples Using OCIDescribeAny()
- Retrieving Column Datatypes for a Table
- Describing the Stored Procedure
- Retrieving Attributes of an Object Type
- Retrieving the Collection Element's Datatype of a Named Collection Type
- Describing with Character Length Semantics
- 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 Objects with LOB Attributes
- Array Interface for 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
- Temporary LOB Support
- Creating and Freeing Temporary LOBs
- Temporary LOB Durations
- Take Care When Assigning Pointers
- Temporary LOB Example
- 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 OCISessionBegin() with an Externally initialized Context
- 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
- OCI Calls for Connection Pooling
- Examples of OCI Connection Pooling
- 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
- 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 OCI
- Rules for Statement Caching in OCI
- OCI Statement Caching Code Example
- User-Defined Callback Functions in OCI
- Registering User Callbacks in OCI
- OCI Callbacks from External Procedures
- Application Failover Callbacks in OCI
- Failover Callback Overview
- Failover Callback Structure and Parameters
- Failover Callback Registration
- Failover Callback Example
- Handling OCI_FO_ERROR
- OCI 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
- 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
- NULL Indicator Structure
- 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
- 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 Example
- Datetime and Interval (OCIDateTime, OCIInterval)
- Datetime Functions
- Datetime Example
- Interval Functions
- Number (OCINumber)
- 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
- 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
- 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
- OCI Support for XML
- XML Context
- XML Data on the Server
- Using OCI XML DB Functions
- 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
- Introduction to the Relational 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()
- Introduction to More Relational Functions
- Statement Functions
- OCIStmtExecute()
- OCIStmtFetch()
- OCIStmtFetch2()
- OCIStmtGetPieceInfo()
- OCIStmtPrepare()
- OCIStmtPrepare2()
- OCIStmtRelease()
- OCIStmtSetPieceInfo()
- LOB Functions
- OCIDurationBegin()
- OCIDurationEnd()
- OCILobAppend()
- OCILobAssign()
- OCILobCharSetForm()
- OCILobCharSetId()
- OCILobClose()
- OCILobCopy()
- OCILobCopy2()
- OCILobCreateTemporary()
- OCILobDisableBuffering()
- OCILobEnableBuffering()
- OCILobErase()
- OCILobErase2()
- OCILobFileClose()
- OCILobFileCloseAll()
- OCILobFileExists()
- OCILobFileGetName()
- OCILobFileIsOpen()
- OCILobFileOpen()
- OCILobFileSetName()
- OCILobFlushBuffer()
- OCILobFreeTemporary()
- OCILobGetChunkSize()
- OCILobGetLength()
- OCILobGetLength2()
- OCILobGetStorageLimit()
- OCILobIsEqual()
- OCILobIsOpen()
- OCILobIsTemporary()
- OCILobLoadFromFile()
- OCILobLoadFromFile2()
- OCILobLocatorAssign()
- OCILobLocatorIsInit()
- OCILobOpen()
- OCILobRead()
- OCILobRead2()
- OCILobTrim()
- OCILobTrim2()
- OCILobWrite()
- OCILobWrite2()
- OCILobWriteAppend()
- OCILobWriteAppend2()
- Streams Advanced Queuing and Publish-Subscribe Functions
- OCIAQDeq()
- OCIAQDeqArray()
- OCIAQEnq()
- OCIAQEnqArray()
- 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()
- OCIPasswordChange()
- OCIReset()
- OCIRowidToChar()
- OCIServerVersion()
- OCISvcCtxToLda()
- OCIUserCallbackGet()
- OCIUserCallbackRegister()
- 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()
- 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()
- Introduction to Datatype Mapping and Manipulation Functions
- OCI Collection and Iterator Functions
- OCICollAppend()
- OCICollAssign()
- OCICollAssignElem()
- OCICollGetElem()
- OCICollGetElemArray()
- 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()
- OCINumberToRealArray()
- 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()
- Introduction to External Procedure and Cartridge Services Functions
- 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
- OCIFileInit()
- OCIFileTerm()
- OCIFileOpen()
- OCIFileClose()
- OCIFileRead()
- OCIFileWrite()
- OCIFileSeek()
- OCIFileExists()
- OCIFileGetLength()
- OCIFileFlush()
- Cartridge Services -- String Formatting Interface
- OCIFormatInit()
- OCIFormatTerm()
- OCIFormatString()
- Format Modifiers
- Format Codes
- Example
- Introduction to Any Type and Data Interfaces
- 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()
- Introduction to Globalization Support in OCI
- OCI Locale Functions
- OCINlsCharSetIdToName()
- OCINlsCharSetNameTold()
- OCINlsEnvironmentVariableGet()
- OCINlsGetInfo()
- OCINlsNumericInfoGet()
- OCI Locale-Mapping Function
- OCINlsNameMap()
- OCI String Manipulation Functions
- OCIMultiByteInSizeToWideChar()
- OCIMultiByteStrCaseConversion()
- OCIMultiByteStrCat()
- OCIMultiByteStrcmp()
- OCIMultiByteStrcpy()
- OCIMultiByteStrlen()
- OCIMultiByteStrncat()
- OCIMultiByteStrncmp()
- OCIMultiByteStrncpy()
- OCIMultiByteStrnDisplayLength()
- OCIMultiByteToWideChar()
- OCIWideCharInSizeToMultiByte()
- OCIWideCharMultiByteLength()
- OCIWideCharStrCaseConversion()
- OCIWideCharStrcat()
- OCIWideCharStrchr()
- OCIWideCharStrcmp()
- OCIWideCharStrcpy()
- OCIWideCharStrlen()
- OCIWideCharStrncat()
- OCIWideCharStrncmp()
- OCIWideCharStrncpy()
- OCIWideCharStrrchr()
- OCIWideCharToLower()
- OCIWideCharToMultiByte()
- OCIWideCharToUpper()
- OCI Character Classification Functions
- OCIWideCharIsAlnum()
- OCIWideCharIsAlpha()
- OCIWideCharIsCntrl()
- OCIWideCharIsDigit()
- OCIWideCharIsGraph()
- OCIWideCharIsLower()
- OCIWideCharIsPrint()
- OCIWideCharIsPunct()
- OCIWideCharIsSingleByte()
- OCIWideCharIsSpace()
- OCIWideCharIsUpper()
- OCIWideCharIsXdigit()
- OCI Character Set Conversion Functions
- OCICharSetConversionIsReplacementUsed()
- OCICharSetToUnicode()
- OCINlsCharSetConvert()
- OCIUnicodeToCharSet()
- OCI Messaging Functions
- OCIMessageClose()
- OCIMessageGet()
- OCIMessageOpen()
- Introduction to XML DB Support in OCI
- OCI XML DB Functions
- OCIXmlDbFreeXmlCtx()
- OCIXmlDbInitXmlCtx()
- 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 Function Column Array Handle (OCIDirPathColArray) Attributes
- Direct Path Stream Handle (OCIDirPathStream) Attributes
- Direct Path Column Parameter Attributes
- Process Handle Attributes
- 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
- What Is Included in the OCI Package for Windows?
- Oracle Directory Structure for Windows
- Sample OCI Programs for Windows
- Compiling OCI Applications for Windows
- Linking OCI Applications for Windows
- oci.lib
- Client DLL Loading When Using LoadLibrary()
- Running OCI Applications for Windows
- The Oracle XA 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