Home
Home
Customize
Customize
Help
Help
Contact us
Contact Us

Table of Contents for Oracle Call Interface Programmer's Guide

Contents

Title Page

Index

Preface

Purpose of this Guide

Audience

Other OCI Documentation

How to Use This Guide

How this Guide Is Organized

Conventions Used in this Guide

Your Comments Are Welcome

Introduction, New Features, and Upgrading

Overview of OCI

New Features

Compatibility, Upgrading, and Migration

Application Linking Issues

OCI Programming Basics

Overview

OCI Program Structure

OCI Data Structures

Handles

Descriptors

OCI Programming Steps

Initialization, Connection, and Session Creation

Commit or Rollback

Terminating the Application

Error Handling

Additional Coding Guidelines

Non-Blocking Mode

Using PL/SQL in an OCI Program

Datatypes

Oracle Datatypes

Internal Datatypes

External Datatypes

New Oracle External Datatypes

Data Conversions

Typecodes

Definitions in oratypes.h

SQL Statement Processing

Overview

Processing SQL Statements

Preparing Statements

Binding

Executing Statements

Describing Select-List Items

Defining

Fetching Results

Binding and Defining

Binding

Advanced Bind Operations

Defining

Advanced Define Operations

Arrays of Structures

DML with RETURNING Clause

NCHAR and Character Conversion Issues

PL/SQL REF CURSORs and Nested Tables

Run Time Data Allocation and Piecewise Operations

Describing Schema Metadata

Overview

Using OCIDescribeAny()

Examples

LOB and FILE Operations

Overview

Creating and Modifying Internal LOBs

Associating a FILE in a Table with an OS File

LOB Attributes of an Object

Array Interface For LOBs

LOB and FILE Functions

LOB Read and Write Callbacks

Temporary LOB Support

Managing Scalable Platforms

Overview

Transactions

Password and Session Management

Middle-tier Applications

Thread Safety

OCI Programming Advanced Topics

The OCIThread Package

User-defined Callback Functions

Application Failover Callbacks

OCI and Advanced Queuing

Publish-Subscribe Notification

Direct Path Loading

OCI Object-Relational Programming

Overview

OCI Object Overview

Working with Objects in the OCI

Developing an OCI Object Application

Object-Relational Datatypes

Overview

Mapping Oracle Datatypes to C

Manipulating C Datatypes With OCI

Date (OCIDate)

Number (OCINumber)

Fixed or Variable-Length String (OCIString)

Raw (OCIRaw)

Collections (OCITable, OCIArray, OCIColl, OCIIter)

REF (OCIRef)

Object Type Information Storage and Access

Binding and Defining in Object Applications

Binding

Defining

Binding And Defining Oracle C Datatypes

SQLT_NTY Bind/Define Example

Object Cache and Object Navigation

Overview

The Object Cache and Memory Management

Object Navigation

OCI Navigational Functions

Using the Object Type Translator

OTT Overview

Using the Object Type Translator

The OTT Command Line

The Intype File

OTT Datatype Mappings

The Outtype File

Using the OTT with OCI Applications

OTT Reference

OCI Relational Functions

Introduction

Advanced Queuing and Publish-Subscribe Functions

OCIAQDeq()

OCIAQEnq()

OCIAQListen()

OCISubscriptionDisable()

OCISubscriptionEnable()

OCISubscriptionPost()

OCISubscriptionRegister()

OCISubscriptionUnRegister()

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()

Direct Path Loading Functions

OCIDirPathAbort()

OCIDirPathColArrayEntryGet()

OCIDirPathColArrayEntrySet()

OCIDirPathColArrayRowGet()

OCIDirPathColArrayReset()

OCIDirPathColArrayToStream()

OCIDirPathFinish()

OCIDirPathLoadStream()

OCIDirPathPrepare()

OCIDirPathStreamReset()

Connect, Authorize, and Initialize Functions

OCIEnvCreate()

OCIEnvInit()

OCIInitialize()

OCILogoff()

OCILogon()

OCIServerAttach()

OCIServerDetach()

OCISessionBegin()

OCISessionEnd()

OCITerminate()

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()

Statement Functions

OCIStmtExecute()

OCIStmtFetch()

OCIStmtGetPieceInfo()

OCIStmtPrepare()

OCIStmtSetPieceInfo()

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()

OCIServerVersion()

OCISvcCtxToLda()

OCIUserCallbackGet()

OCIUserCallbackRegister()

OCI Navigational and Type Functions

Introduction

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()

OCI Datatype Mapping and Manipulation Functions

Introduction

OCI Collection and Iterator Functions

OCICollAppend()

OCICollAssign()

OCICollAssignElem()

OCICollGetElem()

OCICollIsLocator()

OCICollMax()

OCICollSetUpdateStatus()

OCICollSize()

OCICollTrim()

OCIIterCreate()

OCIIterDelete()

OCIIterGetCurrent()

OCIIterInit()

OCIIterNext()

OCIIterPrev()

OCI Date Functions

OCIDateAddDays()

OCIDateAddMonths()

OCIDateAssign()

OCIDateCheck()

OCIDateCompare()

OCIDateDaysBetween()

OCIDateFromText()

OCIDateGetDate()

OCIDateGetTime()

OCIDateLastDay()

OCIDateNextDay()

OCIDateSetDate()

OCIDateSetTime()

OCIDateSysDate()

OCIDateToText()

OCIDateZoneToZone()

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()

OCI Cartridge Functions

Introduction

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

Handle and Descriptor Attributes

Conventions

Environment Handle Attributes

Error Handle Attributes

Service Context Handle Attributes

Server Handle Attributes

User Session 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

Advanced Queueing Descriptor Attributes

Subscription Handle Attributes

Direct Path Loading Handle Attributes

Process Handle Attributes

OCI Demonstration Programs

OCI Function Server Roundtrips

Overview

Relational Function Roundtrips

LOB Function Roundtrips

Object and Cache Function Roundtrips

Describe Operation Roundtrips

Datatype Mapping and Manipulation Function Roundtrips

Other Local Functions

Basic OCI Concepts

OCI Object Concepts

OCI Reference

Appendixes