开发者社区> 周兆熊> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ORACLE调用接口(OCI)简介及重要函数流程介绍

简介: 【文章摘要】 对于实现用户开销户的程序来说,与数据库进行交互是必不可少的。为了实现用户数据的存放、读取、删除等操作,我们需要频繁地访问数据库,这就对数据库的访问模式提出了较高的要求。
+关注继续查看

【文章摘要】
对于实现用户开销户的程序来说,与数据库进行交互是必不可少的。为了实现用户数据的存放、读取、删除等操作,我们需要频繁地访问数据库,这就对数据库的访问模式提出了较高的要求。ORACLE数据库具有系统可移植性好、使用方便、功能强等特点,因此在实际的软件开发项目中使用得非常的广泛。为了方便C语言程序操作ORACLE中的数据,ORACLE调用接口(OCI)应运而生。

本文首先简单介绍了OCI的基本情况,然后对OCI中两个重要的程序流程进行了一定的介绍。希望大家通过此文,能够对OCI有一个大致的了解。

一、OCI简介
在通常的情况下,大家是通过在客户端(如PLSQL Developer)中输入SQL语句来对数据库中的数据进行操作的。那么,如果我们想在C程序中实现对数据库的操作,该如何处理呢?ORACLE数据库提供了一个第三代程序设计语言的接口,用户可以通过C语言来编程访问数据库。

OCI(Oracle Call Interface)就是为了实现高级语言访问数据库而提供的接口,它允许开发者使用高级语言来编写程序,并通过该接口来访问数据库。

简而言之,OCI是由一组应用程序开发接口(API)组成的,ORACLE提供API的方式是提供一组库。在这组库中,包含了一系列的函数调用,如连接数据库、调用SQL等。

利用OCI,C程序访问ORACLE数据库的模式如图1所示。
这里写图片描述
图1 C程序访问ORACLE数据库的模式

二、OCI中常用函数简介
OCI提供了一组完备的功能集合,可以实现创建数据库连接、关闭数据库连接、执行SQL语句或存储过程、获取SQL语句或存储过程的执行结果、获取数据库空间大小等功能。

常用函数及其功能如表1所示(注:不同版本的OCI文件中的函数名可能会不一样,但功能都是一致的):

表1 OCI常用函数及其功能
这里写图片描述

三、OCI中重要函数流程介绍
为了让大家了解OCI的流程,我们对OCI中两个重要的函数流程进行分析。如果大家想要对OCI进行深入的理解,请阅读OCI源码。

1 CreateDb流程
这里写图片描述
图2 CreateDb流程

有关CreateDb流程,要注意在初始化数据库连接之前,需要对程序进行加锁处理,待结果集创建成功之后,再解锁。

2.ExecuteSql流程
这里写图片描述
图3 ExecuteSql流程

有关ExecuteSql流程,要注意在执行完SQL语句之后,要释放本次的数据库连接。

四、总结
OCI作为C程序访问ORACLE数据库的桥梁,为大家操作数据库提供了很大的方便,这也算是ORACLE公司对软件设计的一大贡献了。对于开发应用软件的程序员来说,做到会调用OCI提供的API也就足够了。但是,如果大家想对OCI有比较深入的了解,还是要阅读其源码,这里提供一个源码下载的链接:http://download.csdn.net/detail/will___/4051884

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle 数据库性能优化3日实战(企业培训)
课程名称一: Oracle性能优化及调整 课程时长 1天 课程深度: 高级 上机实验: 10%-30% 授课对象: Oracle开发人员、Oracle数据库管理人员,应用程序开发人员 课程描述: 本课程讲述Oracle数据库物理层规划,系统性能的监控,数据库性能参数调整,统计信息的收集,使用自动化调试工具优化数据库,I/O子系统的配置与设计以及性能优化方法论等。
1755 0
oracle 判断列是否在数据库中存在
select count('列名') from cols  where table_name=upper('表名') and column_name=upper('列名')其存在与否的结果与oracle 判断某个表是否存在一样,都是返回1或者0
697 0
【Oracle】Python 连接Oracle 数据库
Python 连接Oracle 数据库,需要使用cx_Oracle 包。 1 下载cx_Oracle 该包的下载地址:http://cx-oracle.sourceforge.net/ 下载的时候,注意选择与操作系统和oracle版本相对应的cx_Oracle版本。
1160 0
【oracle】静默安装oracle软件和数据库之三
对于静默安装netca ,出现如下错误: oracle@RAC:/home/oracle/10201_database>netca -silent -responsefile /home/oracle/10201_database/netca.
760 0
【oracle】静默安装oracle软件和数据库之二
本文记录如何静默创建数据库,可以使用静默文件可以选择无响应文件安装 1 编辑创建数据库的响应文件: dbca.rsp ESPONSEFILE_VERSION = "10.
810 0
【oracle】静默安装oracle软件和数据库之一
oracle 的静默安装可以在无交互模式安装数据库,适合没有图形界面的情况下进行oracle 数据库软件的安装和数据库创建,netca 的配置。 本文对静默安装数据库软件进行技术介绍。
607 0
Oracle恢复数据库案例实战
      今天在给数据库表空间添加数据文件的时候,把添加的数据文件给Offline了,再进行Online操作提示需要recover数据文件。
610 0
手动删除oracle数据库
--===================== -- 手动删除oracle数据库 --=====================       在很多情况下,或无法使用dbca工具的时候,我们需要手动来删除数据库。
1371 0
【性能优化】ORACLE数据库性能优化概述
   为了保证ORACLE数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略。优化策略一般包括服务器操作系统参数调整、ORACLE数据库参数调整、网络性能调整、应用程序SQL语句分析及设计等几个方面,其中应用程序的分析与设计是在信  分析评价ORACLE数据库性能主要有数据库吞吐量、数据库用户响应时间两项指标。
1262 0
+关注
周兆熊
硕士研究生毕业于南京邮电大学计算机应用技术专业,曾在中兴通讯从事软件开发工作,现就职于重庆某物联网技术公司,任高级嵌入式软件开发工程师。著有《C程序员从校园到职场》一书,同时也是《信息通信技术百科全书》的编者之一及CSDN博客专家。QQ(微信):245924426。
356
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载