文件名称:
oracle-call-interface-programmers-guide.pdf(18c))
开发工具:
文件大小: 10mb
下载次数: 0
上传时间: 2019-06-29
详细说明:ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。Contents
Preface
Audience
Documentation Accessibility
Vv
Related documents
Conventions
Changes in This Release for Oracle Call Interface Programmer's
Guide
Changes in Oracle Database Release 18c Version 18.1
1 OCl: Introduction
1.1 Overview of ocl
1-1
1.2 Building an OCI Application
1-3
1.3 Alternatives to oCI
1-3
1.4 SQL Statements
1-5
1.4.1 Data Definition Language
1-5
1.4.2 Control statements
1-6
1.4.3 Data Manipulation Language
1-6
1.4.4 Queries
1-7
1.4.5 PL/SQL
1-7
1.4.6 Embedded SQL
1-8
1.4.7 Special OCI Terms for SQL
1-9
1.5 Procedural and Nonprocedural Elements
1-9
1.6 Object Support
1-10
1.6.1 Client-Side object Cache
1-11
1.6.2 Associative and Navigational Interfaces
1-11
1.6.3 OCI Runtime Environment for Objects
1-12
1.6.4 Type Management: Mapping and Manipulation Functions
1-12
1.6.5 Object Type Translator
1-13
1.7 Simple Oracle Document Access(SODA)
1-13
1.8 Encapsulated Interfaces
1-14
ORACL∈
1. 9 User Authentication and Password Management
1-14
1.10 Features to Improve Application Performance and Scalability
1-15
1.11 Oracle Streams Advanced Queuing
1-15
1.12 XA Library Support
1-16
2 Oracle Instant Client and Oracle Instant Client Light
2.1 About oracle Instant Client
2-1
2.2 Install from ZiP Files. from rPms, and from oracle universal installer
2-3
2.3 Environment variables for oracle instant client
2-5
2.4 Database Connection Strings for Oracle Instant client
2.5 SDK for Oracle instant client
2-7
2.6 About Oracle Instant Client Light
2-7
2.6.1
balization Settings
2-8
2.6.2 Libraries for Oracle Instant Client Light
2.6.3 Installing Oracle Instant Client Light
2-9
2.7 About Patching Oracle Instant Client Shared Libraries on Linux or UNIX
2-10
2.8 Regeneration of Data Shared Library and Zip and RPM Files
2-11
2.8.1 Regenerating Data Shared Library libocieiso
2-12
2.8.2 Regenerating Data Shared Library libociicusso
2-12
2.8.3 Regenerating data shared libraries libociei so and libociicus so in one
p
2-12
2.8.4 Regenerating Zip and RPM Files for the Basic Package
2-13
2.8.5 Regenerating Zip and RPM Files for the Basic Light Package
2-13
2.8.6 Regenerating Zip and rPM Files for the JDBC Package
2-13
2.8.7 Regenerating Zip and RPM Files for the ODBC Package
2-13
2.8.8 Regenerating Zip and RPM Files for the SQL Plus Package
2-13
2.8.9 Regenerating Zip and RPM Files for the Tools Package
2-13
2.8.10 Regenerating Zip and RPM Files for All Packages
3 Building and Configuring OCI Applications
3.1 Header File and makefile locations
3.2 Building an OCI Application on Linux and UNIX
33
3.2.1 Oracle Directory Structure
3-2
3.2.2 Demonstration OCl Programs
3.3 Building an Application on Windows
3.4 Database Connection Strings
3-3
3.4.1 Examples of Oracle Instant Client Connect Identifiers
3-4
3.5 Client and Server Operating with Different Versions of Time Zone Files
3-6
3.6 OCI Client-Side Deployment Parameters Using oraaccess xml
3-7
3.6.1 About oraaccess xml
3-7
ORACLE
3.6.2 About Client-Side Deployment Parameters Specified in oraaccessxm
3-7
3.6.3 High Level Structure of oraaccess xml
3-8
3.6.4 About Specifying Global Parameters in oraaccess xml
3-9
3.6.5 About Specifying Defaults for Connection Parameters
3-11
3.6.6 Overriding Connection Parameters at the Connection -String Level
3-13
3.6.7 About oCI Session Pool Configuration in oraaccess xml
3-17
3.6.8 File(oraaccess. xml) Properties
3-18
3.7 About Compatibility and Upgrading
3-19
3.7.1 Oracle Client and Server Cross Version Compatibility
3-19
3.7.2 Version Compatibility of Statically Linked and Dynamically Linked
Applications
3-20
3.7.3 About Upgrading of Existing OCI Release 7 Applications
3-20
3.7. 4 Obsolete ocl routines
3-22
3.7.5 OCI Routines Not Supported
3-24
3.8 Fault Diagnosability in OCI
3-24
3.8.1 About Fault diagnosability in oc
3-24
3.8.2 AdR Base location
3-25
3.8.3 Using adrc
3-26
3.8.4 Controlling ADR Creation and Disabling Fault Diagnosability Using
sqInet. ora
3-28
4 OCI Programming Basics
4.1 Overview of oCl Program Programming
4-1
4.2 oCI Data structures
4-3
4.2.1 Handles
4-3
4.2.1.1 About Allocating and Freeing Handles
4-5
4.2.1.2 Environment handle
4-6
4.2.1.3 Error handle
4-6
4.2.1.4 Service Context Handle and Associated handles
4-6
4.2.1.5 Statement, Bind, and define handles
4-8
4.2.1.6 Describe handle
4-9
4.2.1.7 Complex object Retrieval Handle
4-9
4.21. 8 Thread handle
4-9
4.2.1.9 Subscription Handle
4-9
4.2.1. 10 Direct Path Handles
4-10
4.2.1.11 Connection Pool handle
4-10
4.2.1.12 Handle attributes
4-10
4.2.1.13 OCI Descriptors
4-12
4.3 OCI Programming Steps
4-17
4.3.1 OCI Environment initialization
4-18
4.3.1.1 About Creating the OCl Environment
4-18
ORACL∈
4.3.1.2 About Allocating Handles and Descriptors
4-19
4.3.1.3 Application Initialization, Connection, and Session Creation
4-19
4.3.2 About Processing SQL Statements in OCI
4-25
4.3.3 Commit or Roll Back Operations
4-25
4.3.4 About Terminating the Application
4-26
4.3.5 Error Handling in OCI
4-27
4.3.5.1 Return and error codes for data
4-28
4.3.5.2 Functions Returning other values
4-29
4.4 Additional Coding Guidelines
4-29
4.4.1 Operating System Considerations
4-29
4.4.2 Parameter Types
4-30
4. 4.21 Address parameters
4-30
4.4.2.2 Integer Parameters
4-30
4.4.2.3 Character string parameters
4-31
4.4.3 Inserting Nulls into a Column
4-31
4.4.4 Indicator Variables
4-31
4.4.4.1nput
4-32
4.4.4.2 Output
4-32
4.4.4.3 Indicator Variables for Named Data Types and REFs
4-32
4.4.5 About Canceling Calls
4-33
4.4.6 Positioned Updates and deletes
4-34
4. 4.7 Reserved words
4-35
4.4.7. 1 Oracle Reserved Namespaces
4-35
4.4.8 Polling Mode Operations in OCI
4-36
4.4.9 Nonblocking Mode in OCI
4-36
4.4.10 Setting Blocking Modes
4-37
4.4.11 Canceling a Nonblocking Call
4-38
4. 5 About Using PL/SQL in an OCI Program
4-38
4.6 OCI Globalization Support
39
4.6.1 Client Character set Control from ocl
4-40
4.6.2 Character Control and ocl interfaces
4-40
4.6.3 Character-Length Semantics in OCI
4-41
4.6.4 Character Set Support in OCI
4-41
4.6.5 Controlling Language and Territory in OCI
4-41
4.6.6 Other OCI Globalization Support Functions
4-42
4.6.7 About Getting Locale Information in OCI
4-42
4.6. 8 About OCI and the BOM(Byte Order Mark
4-43
4.6. 9 About Manipulating Strings in OCI
4-44
4.6.10 About Converting Character Sets in OC
4-45
4.6.11 OCI Messaging functions
4-46
6.12 Imsgen Utility
4-47
ORACLE
4.6.12.1 Guidelines for Text Message files
4-47
4.6.12.2 An Example of Creating a Binary Message File from a Text
Message File
4-48
5 Data Types
5.1 Oracle Data Types
5-1
5.1.1 About Using External Data Type Codes
5-3
5.2 Internal Data Types
4
5.2.1 LONG, RAW LONG RAW, VARCHAR2
5-5
5.2.2 Character Strings and Byte Arrays
5-5
5.2.3 UROWID
5-6
5.2.4 bINARY FLOAT and BINARY double
5-6
5.3 External Data Types
5-7
5.3.1 VARCHAR2
5.3.1.1nput
5-10
5.3.1.2 Output
5-11
5.3.2 NUMBER
5-11
5.3.3 64-Bit Integer Host Data Type
5-12
5.3.3.1 OCI Bind and Define for 64-Bit Integers
5-13
5.3. 3.2 Support for OUT Bind DML Returning Statements
5-13
5.3.4 INTEGER
5-14
5.3.5FL○AT
5-15
5.3.6 STRING
5-15
5.3.6.1 Input
5-15
5.3.6.2 Output
5-16
5.3.7 VARNUM
5-16
5.3.8 LONG
5-16
5.3.9 VARCHAR
5-17
5.3.10DATE
5-17
5.3.11RAW
5-18
5.3.12 VARRAW
5-18
5.3.13 LONG RAW
5-19
5.3 14 UNSIGNED
5-19
5.3.15 LONG VARCHAR
5-19
5.3.16 LONG VARRAW
5-19
5.3.17cHAR
5-19
5.3.17.1nput
5-19
5.3.17.2 Output
5-20
5.3.18 CHARZ
5-21
5.3. 19 Named Data Types: Object, VARRAY, Nested Table
5-21
5.3.20REF
5-22
ORACL∈
5.3.21 ROWID Descriptor
5-22
5.3.22 LOB Descriptor
5-23
5.3.22.1BF|E
5-24
5.3.22.2BLOB
5-25
5.3.223CLOB
5-25
5.3.22.4 NCLOB
5-25
5.3.23 Datetime and Interval Data Type Descriptors
5-25
5. 3.231 ANSI DATE
5-26
5.3.23.2 TIMESTAMP
5-26
5.3.23.3 TIMESTAMP WITH TIME ZONE
5-26
5.3.23.4 TIMESTAMP WITH LOCAL TIME ZONE
5-27
5.3.23.5 INTERVAL YEAR TO MONTH
5-27
5.3.23.6 INTERVAL DAY TO SECOND
5-27
5.3.23. 7 About Avoiding Unexpected Results Using Datetime
5-27
5.3.24 Native float and native double
5-28
5.3.25 C Object-Relational Data Type Mappings
5-28
5.4 Data conversions
5-28
5.4.1 Data Conversions for LOB Data Type Descriptors
5-30
5.4.2 Data Conversions for Datetime and Interval Data Types
5-30
5.4.2.1 Assignment Notes
5-31
5.4.2.2 Data Conversion Notes for datetime and Interval Types
5-32
5.4.3 Datetime and Date Upgrading Rules
5-32
5.4.31 Pre-90 Client with 9.0 or Later Server
5-32
5.4.3.2 Pre-9.0 Server with 9.0 or Later client
5-32
5.4.4 Data conversion for binary float and binary double in ocl
5-33
Typecodes
5-34
5.5.1 Relationship Between SQLT and OCI TYPECODE Values
5-35
5.6 Definitions in oratypes h
5-37
6 Using sQL Statements in OC
6.1 Overview of SQL Statement Processing
6.2 About Preparing Statements
6-4
6.2.1 About Using Prepared Statements on Multiple Servers
5
6.3 About Binding Placeholders in OCI
6-6
6.3.1 Rules for placeholders
6-7
6.4 About Executing Statements
6-7
6.4.1 Execution Snapshots
6-8
6.4.2 EXecution Modes of OCIStmtEXecuteO
6-9
6.4.2.1 Using batch Error Mode
6-9
6.4.2.2 Example of Batch Error Mode
6-11
ORACLE
6.5 About Describing select-List Items
6-12
6.5.1 Implicit Describe
6-13
6.5.2 Explicit Describe of Queries
6-15
6.6 About Defining Output Variables in OCI
6-16
6.7 About Fetching results
6-16
6.7.1 About Fetching LOB Data
6-17
6.7.2 About Setting Prefetch Count
6-17
6.8 About Using Scrollable Cursors in OC
6-19
6.8.1 About Increasing Scrollable Cursor Performance
6-20
6.8.2 Example of Access on a Scrollable Cursor
6-21
7 Binding and Defining in OCI
7.1 Overview of Binding in OCl
7-1
7.1.1 Named binds and positional binds
7-3
7.1.2 OCI Array Interface
7-4
7. 1.3 About Binding Placeholders in PL/SQL
7-5
7.1.4 Steps Used in OCI Binding
7-6
7.1.5 PL/SQL Block in an OCl Program
7-7
7.2 Advanced Bind Operations in oCl
79
7.2.1 About Binding LOBS
7-10
7.2.1.1 Binding LOB Locators
7-10
7.2.1.2 About Binding LOB Data
7-12
7. 2. 2 About Binding in OCI_ DATA AT_ EXEC Mode
7-16
7. 2.3 About Binding REF CURSOR Variables
7-17
7.3 Overview of defining in oCl
7-17
7.3.1 Steps Used in OCl Defining
7-18
7.4 Advanced Define Operations in OC
7-19
7.4.1 About Defining LOB Output Variables
7-20
7.4.1.1 About Defining Lob Locators
7-20
7.4.1.2 About Defining LOB Data
7-21
7.4.2 About Defining PL/SQL Output Variables
7-22
7.4.3 About Defining for a Piecewise Fetch
7-22
7.5 About binding and defining arrays of structures in oc
7-22
7.5.1 Skip Parameters
7-23
7.5.1.1 Skip Parameters for Standard Arrays
7-24
7.5.2 OCI Calls Used with Arrays of Structures
7-24
7.5.3 Arrays of Structures and Indicator Variables
7-25
7.6 About Binding and Defining Multiple Buffers
7-25
7.7 DML with a returning clause in ocl
7-29
7.7.1 About Using DML with a RETURNING Clause to Combine TWO SQL
Statements
7-29
ORACL∈
7.7.2 About Binding RETURNING. INTO Variables
7-30
7.7.3 OCI Error Handling
7-31
7.7 4 DML with rETURNing ref.into Clause in ocl
7-31
7.7. 4.1 Binding the Output variable
7-31
7.7.5 Additional notes about ocl callbacks
7-33
7.7.6 Array Interface for DML RETURNING Statements in OCI
7-33
7. 8 Character Conversion in OCl Binding and Defining
7-33
7.8.1 About Choosing a Character Set
7-34
7. 8.1.1 Character Set Form and ID
7-34
7. 8.1.2 Implicit Conversion Between CHAR and NCHAR
7-35
7.8.2 About Setting Client Character sets in OCI
7-36
7.8.3 About Binding Variables in OC
7-36
7.8.3. 1 About Using the ocl ATTR MAXDATA SIZE Attribute
7-37
7.8.3.2 About Using the ocl ATTR MAXCHAR SIZE Attribute
7-37
7.8.3.3 Buffer Expansion During OCI Binding
7-38
7.8.3.4 Constraint Checking During Defining
7-39
7.8. 3.5 General Compatibility Issues for Character-Length Semantics in
OC
7-40
7.9 PL/SQL REF CURSORS and Nested Tables in OCl
7-43
7.10 Natively Describe and Bind All PL/SQL Types Including Package Types
7-44
7.11 Runtime Data Allocation and Piecewise Operations in OCI
7-45
7. 11.1 Valid Data Types for Piecewise Operations
7-46
7.11.2 Types of Piecewise Operations
7-46
7.11.3 About Providing INSERT or UPDATE Data at Runtime
7-47
7.11. 3.1 Performing a Piecewise Insert or Update
7-48
7. 11.4 Piecewise Operations with PL/SQL
7-50
7.11. 5 PL/SQL Indexed Table Binding Support
7-50
7.11.5.1 Restrictions for PL/SQL Indexed Table Binding Interface
7-51
7.11.6 About Providing FETCH Information at Run Time
7-52
7. 11.6.1 Performing a piecewise Fetch
7-52
7. 11.7 Piecewise Binds and Defines for lobs
7-54
8 Describing Schema Metadata
8.1 About Using OCIDescribe Anyo
8-1
8.1.1 Limitations on OCIDescribeAnyo
8-3
8. 1. 2 Notes on Types and Attributes
8.1.2.1 Data Type Codes
8-3
8. 1.2.2 About Describing Types
8-4
8.1.2. 3 Implicit and Explicit Describe Operations
8-4
8.1.2 4 OCI ATTR LIST ARGUMENTS Attribute
8-5
8.2 Parameter Attributes
8-5
ORACLE
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.