Home
Customize
Help
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
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.