- 79
- 0
- 约2.13万字
- 约 34页
- 2021-01-26 发布于天津
- 举报
第
第 PAGE #页共33页
OCI简介
1 . OCI概述
OCI(Oracle Call Interfce ,即Oracle调用层接口)是Oracle公司提供的由头文
件和库函数等组成的一个访问Oracle数据库的应用程序编程接口 (application programmi ng in terface API),它允许开发人员在第三代编程语言(包括C, C++, COBC与FORTRAN)通过 SQL(Structure Query Language) 来操纵 Oracle 数据库, 而且0C在一定程度上支持第三代编程语言(诸如C, C++ COBO与 FORTRAN!数 据类型、语法等等。0C的显著特点是全面支持Oracle的面向对象技术,同时OCI 还具有如下的一些特点:
1) 非常有利于应用程序的设计;
2) 高度控制应用程序的执行;
3) 允许开发人员应用已熟悉的第三代程序设计语言来应用 OCI;
4) 支持动态SQL
5) 几乎所有的Oracle的开发工具都支持OCI;
6) 通过回调技术(callbacks)来实现动态绑定与定义;
7) 通过OCI的描述函数可以获取 Oracle数据库的各种参数;
8) 增强了数组在DML(data manipulation Ianguage) 语言中的应用;
OCI接口支持Windows NT和Windows 95/98/2O0o/xP操作系统,它所支持的 C 语言编译器包括Borland C++和MicrosoftVisualC++ 等。在使用OC开发Oralce 数据库应用程序之前,应首先安装这些操作系统和 C语言编译工具。在选择安
装OC开发工具包后,Oracle安装程序将OC文件拷贝到oracle主目录内的以下子 目录中:
..BIN \:执行文件和帮助文件:
..\OCIINCLUD头文件;
..OCI\LIB\其中包含仍be和\msvc两个子目录,分别用于存储支持Borland
C++ffiMicroSoflVisualC++的OCI库文件,这些库文件与OC源程序编译后所产生 的目标文件进行链接生成可执行程序。一个应用 OC程序的生成可执行应用程序
的过程如图1:
由此,我们可以看出:一个应用 OCI的应用程序与其它不连接数据库的应用程序 生成可执行程序的过程没有区别,在程序的链接阶段 OC库与源程序的目标代码 文件链接而生成可执行程序。
2. OCI程序的基本结构
在一个应用程序中,我们是通过调用 OC提供的库函数来实现对Oracle数据库的 操纵。OC提供了上百个函数,都是以OC开头的函数,比如创建OC环境的OCI 函数:OCIEnvCreate()。OC函数的一个特点或者说是难点就是它的参数特别多, 函数往往都有十几个参数。
一般情况下,一个OC应用程序都是在多用户环境下的。 在一个n层网络结构的配 置中,客户端的应用程序需要完成一些数据操纵,包括交换数据与处理数据。 - 个OC应用程序的基本结构包括:
1) 初始化0C环境和线程;
2) 分配必要的句柄与数据结构;
3) 建立与数据库的连接以及创建用户会话;
4) 通过SQI与Oracle服务器交换数据,而后再做数据处理:
5) 结束用户会话与断开与数据库的连接;
6) 释放在程序中所分配的句柄。
示意如图2。
图2 OCI程序的基本结构
3 ?在OCI应用程序中执行SQL的步骤
结构化查询语言(SQL Structure Query Language) 是操纵关系数据库的主流语
言,目前,几乎所有的商业数据库软件都支持 SQ语言。标准的SQ语言按照它的 功能不同,可以分为查询、操纵、定义以及控制四种类型。每一种都有若干关键 字,具体如表1所示。
一个SQ语句在0C应用程序中的执行步骤一般如下:
准备SQL语句。调用函数 OCIStmtPrepare();
在SQ语句中绑定需要输入到SQ语句中的变量。对于DM语句来说,由于它带 有输入变量,我们可以通过调用一个或者多个函数 OCIBindByPos()、
OCIBindByName(等把输入变量的地址绑定在DM语句中的占位符中;
执行SQ语句。调用OCIStmtExecute()函数。对于DDLS句到这一步就完成了一
个语句的执行;
描述SQL中的输出的数据。如果有必要的话,我们可以调用函数OCIParamGet() 与OCIAttrGet()来获取我们所读取的记录的字段个数、 字段的数据类型以及字段 数据定义的最大长度。
定义输出变量。对于DQL(Data Query Language)语句,即SELEC的查询语句,
需要定义一定数量的变量用来接受所选择列的数据。我们可以调用
OCIDeflneByPos()、OCIDefineObject()函
您可能关注的文档
最近下载
- 关注学生身心健康纳入日常管理.pptx
- 江苏海事职业技术学院单招职测参考试题库(含答案).docx VIP
- 2026年安庆医药高等专科学校单招职业适应性考试必刷测试卷含答案.docx VIP
- 卫生事业管理学课件 第二章 管理理论与管理职能.ppt VIP
- 电信行业业务基础知识.docx VIP
- Discovery软件操作完整版.pptx VIP
- QCR 9161-2023铁路工程建设项目临时用地复垦规范.pdf VIP
- 新目标七年级Unit7Itisraining第六课时.ppt VIP
- 新外研版九年级下册英语 Module 5 Unit 1 教案(教学设计).docx VIP
- 2018年新建南昌经景德镇至黄山铁路水土保持方案报告书.pdf
原创力文档

文档评论(0)