Oracle OCI(Oracle Call Interface)官方文档翻译.pdf

Oracle OCI(Oracle Call Interface)官方文档翻译.pdf

ID:52285231

大小:2.09 MB

页数:61页

时间:2020-03-26

Oracle OCI(Oracle Call Interface)官方文档翻译.pdf_第1页
Oracle OCI(Oracle Call Interface)官方文档翻译.pdf_第2页
Oracle OCI(Oracle Call Interface)官方文档翻译.pdf_第3页
Oracle OCI(Oracle Call Interface)官方文档翻译.pdf_第4页
Oracle OCI(Oracle Call Interface)官方文档翻译.pdf_第5页
资源描述:

《Oracle OCI(Oracle Call Interface)官方文档翻译.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OCI学习资料--Oracle8及以后版本的OCI1.简介Oracle调用接口(OracleCallInterface)是一个让我们通过函数调用来访问Oracle数据库和控制SQL语句执行各个阶段的应用程序编程接口(API)。OCI支持C和C++的数据类型、调用惯例、语法和语义。1.1创建一个OCI应用程序我们编译和连接一个OCI程序的方法与编译和连接一个非数据库应用程序的方法相同。不需要独立的预处理或者预编译步骤。1.2OCI的组成部分OCI具有如下功能:·能够安全地支持大量用户的灵活的、多线程API集合。·为管理数据库访问、处理

2、SQL语句和管理Oracle数据库对象的SQL访问函数。·管理Oracle类型的数据属性的数据类型映射和操作函数。·不经SQL语句直接向数据库加载数据的数据加载函数。1.3封装的接口所有的OCI函数使用的数据结构都以被称为句柄的不透明的接口之形式封装。句柄是指向OCI库分配的保存着上下文信息、连接信息、错误信息或者关于SQL及PL/SQL的绑定信息的不透明指针。客户端分配一定类型的句柄,通过已经定义好的接口来填充一个或者多个句柄,并通过这些句柄向服务器发送请求。应用程序可以通过访问函数来访问句柄中包含的相关信息。2.OCI基本编程这

3、部分介绍OCI编程中涉及到的基本概念。2.1OCI编程概要一个OCI应用程序的基本目标就是代表多个用户进行数据库操作。OCI使用以下基本编程顺序:1.初始化OCI编程环境和线程。2.分配必要的句柄,并且设置服务器连接和用户会话。3.通过在服务器上执行SQL语句来交换数据,并且执行必要的应用程序数据处理。4.执行准备好的语句或者准备即将要执行的语句。5.终止用户会话并且断开服务器连接。6.释放句柄。图2-1显示了一个OCI应用程序的编程步骤。图2-1这幅图及其所列出的步骤提供了一个OCI编程步骤的简单概括。根据程序的功能,变化是完全可

4、能发生的。包含管理多个会话、事务和使用对象的更复杂的OCI应用程序需要另外的步骤。所有的OCI函数调用都在一个环境中执行。在一个OCI进程中可以有多个环境。如果一个环境需要任何进程级别的初始化,则其自动进行。注意:在一个OCI应用程序中可以有多个活动连接和语句。2.2OCI数据结构句柄(Handles)和描述符(descriptors)是OCI应用程序中定义的不透明的数据结构。它们可以被直接分配、通过特殊的分配函数或者可以被OCI函数隐式地分配。7.X升级注意:以前写过7.XOCI应用程序的程序员必须熟悉这些被大多数OCI函数使用的

5、数据结构。句柄和描述符保存有关数据、连接、或者应用程序行为的信息。2.3句柄几乎每一个OCI函数的参数列表中都包含有一个或者多个句柄。一个句柄是一个指向一个OCI库分配的存储区域的不透明的指针。我们使用句柄来保存上下文信息或者连接信息,(例如,一个环境或者服务句柄),或者它可以保存关于OCI函数或者数据的信息(例如,一个错误句柄或者描述句柄)。句柄可以使编程更简单,因为OCI库会维持这些数据而不是应用程序。大多数OCI应用程序需要使用句柄中的信息。获取属性值和设置属性值的OCI函数,OCIAttrGet()和OCIAttrSet()

6、,获取和设置这些信息。表2-1列出了OCI中定义的句柄。并列出了与每一种句柄类型相对应的C数据类型和OCI函数中使用的用来识别OCI调用中的句柄类型的句柄类型常量。表2-1OCI句柄类型分配和释放句柄我们的应用程序要为一个特定的环境句柄分配所有的句柄(除了绑定句柄bindhandle、定义句柄definehandle和线程句柄threadhandles)。我们把环境句柄作为一个参数传递至句柄分配函数。然后,被分配的句柄就特定于那个特定的环境。绑定句柄和定义句柄是为一个语句句柄分配的,并且包含了关于那个句柄所代表的语句的信息。注意:绑

7、定句柄和定义句柄是由OCI库隐式分配的,不需要用户分配。图2-2显示了不同类型的句柄的层次图2-2句柄的层次环境句柄是由OCIEnvCreate()或者OCIEnvNlsCreate()函数分配和初始化的,所有的OCI程序都需要执行它们中的任一个。所有的用户分配的句柄都通过OCI句柄分配函数来初始化,即OCIHandleAlloc()函数。句柄类型包括:线程句柄、描述句柄、语句句柄、服务上下文句柄、错误句柄和服务器句柄等。线程句柄通过OCIThreadHndInit()函数分配。一个应用程序必须释放所有的不再使用的句柄。OCIHan

8、dleFree()函数释放所有的句柄。注意:当一个父句柄被释放后,所有与之相连的子句柄也被释放并且再也不能被使用。例如,当一个语句句柄释放后,任何与之相连的绑定和定义句柄也都被释放。句柄减少了对全局变量的需要。句柄也使错误报告更容易。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。