APP下载

Linux下Oracle的C语言访问方式分析

2014-07-03孙钟安

电脑知识与技术 2014年12期
关键词:操作系统C语言数据库

孙钟安

摘要:在Linux系统中C语言访问Oracle有多种方式,下面就对这些方式进行分析,并阐述OCI的技术方式针对性较强,并在研究中拓展为OCL方式,促进了C语言在Oracle中的应用效果。

关键词:操作系统;数据库;C语言;访问方式

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)12-2728-02

The C language under Linux Oracle access method analysis

SUN Zhong-an

(Manzhouli border check points, Hulunbuir 021400,China)

Abstract: In the Linux system C language there are many ways to access Oracle, the following analysis of these ways, and explains the technical OCI highly targeted way, and expand the way for the OCL in the study, and promote the C language in Oracle the application results.

Key words: Operating System; C language; database; access methods

1 概述

在Linux操作系统的使用中,比较突出的是系统稳定性,同时使用中还大大降低了系统的成本,而具备较好的扩展性与维护性能使其成为服务器的主要操作系统,这就要求其必须与数据库系统进行配合使其完成服务器的功能。Oracle数据库则是在数据库领域获得广泛应用的主流系统,使其成为服务器数据库市场中主力系统。将Linux和Oracle配合使用可以获得较高的安全性和稳定性,因此在实际的应用中二者配合的情况最为常见,所以提高二者之间的通信兼容性和高速、稳定性是服务器与数据库系统发展的重要方向,下面就针对Linux环境下Oracle的C语言访问方式进行研究与分析。

2 pro*c/c++访问

该类语言是一种编译程序,利用C语言作为主要的语言类型,内嵌SQL语句用来完成对Oracle数据库的访问。随着系统升级,第三代高级语言内嵌入SQL语句完成访问程序的优劣势如下:优势包括:将过程化和非过程语言结合起来,形成一种高效开发工具,同时能利用窗口和鼠标完成操作;遇到编译异常的时候,可以返回数据库操作过中的异常;开发过程相对简单,可以实现动态和静态的调用。劣势:pro*c利用的是底层的OCI完成数据库操作,通信效率不高;对底层操作和数据库动态处理方面缺乏灵活。

3 ODBC访问

ODBC是访问关系数据库的通用API,提供一种通用化接口,利用不同的驱动程序完成对数据库中应用程序的运行。在Window中的ODBC的开发与更新都很及时,也有免费的ODBC为Linux提供服务。优势:通用性高可以移植并利于维护;将数据库调用接口统一在一起,有助于数据库的升级与再开发;编程简单开发周期较短。劣势:更新速度慢,限制了Oracle的一些特性应用;调用OCI实现数据库操作不能与OCI直接操作效果。

4 OCI访问程序和OCL模式

OCI访问数据库的基本流程是:C源文件在编译后获得目标文件,利用链接程序对OCI数据库最后获得相应的可执行应用程序。

OCL是一种OCI API函数封装成的类库结构,是高级类封装了OCI的调用模式,其隐藏了直接应用OCI的复杂性,保留的是OCI的优势,如性能和本地事务处理能力。OCL包括了控制连接、还行SQL语句、储存和处理查询结果、开发数据库应用程序等相关的公共类库,所有的类都是直观简洁的接口。使用OCL可以创建相关Oracle的高效应用程序,不受限制的利用SQL语言的功能和灵活性,并以此完成对数据库的访问。

OCL的快速加载特征分析:在加载方式中有常规加载和直接路径加载。常规的加载结构是OraCom-mand对象并执行相对应的INSERT SQL语句来完成,该方式在应用中速度稍慢,耗费的时间长。而直接路径加载的方式则是利用Oracle的数组接口特性,先将数据进行格式化转变为Oracle数据模块,然后将模块支架写入到数据库的列表中,这样的加载大大的提高了数据在数据库中的存储速度。直接路径加载接口通过对Oracle数据库服务器进行访问,此时利用路径直接加载的引擎执行功能来完成加载,它提供了从外部存贮器、一个表或者分区表加载到数据到Oracle数据库对象功能。

在完成大批量的数据导入的时候,直接路径加载通常可以体现高效率的加载,数据库的开销相对小。因为在加载中仅需要一次解析,数据绑定操作和程序、数据库之间的往复操作都显著减少,而数据库对每一条数据的操作都是重复可知的,这就给数据库的优化提供了可能性。所以在利用OCL中可以利用直接路径加载来辅助完成访问。

5 结束语

总体看,在Linux系统中Oracle的C语言访问方式有很多种,经过分析发现,OCI的访问的方式较为高效,已经成为跨平台开发与部署的接口形式。随着Oracle数据库的广泛应用,OCI也随着得到了普及,其中改进后的OCL访问方式被研究并拓展成功,不仅提高了访问效率,也为系统优化提供了可能。

参考文献:

[1] 易成就.Oracle数据库内存优化的讨论与配置[J].微计算机信息,2008(24).

[2] 朱继梅,杨健,袁正刚.基于Oracle三层体系结构的应用研究[J].微计算机信息,2006(22).

[2] 黄伟.ORACLE 与C 语言通用调用接口的实现[J].计算机与数字工程,2005.

[3] 曾志聪,姚国祥.基于OCI技术的Oracle数据库连接[J].微机发展,2004.

[4] 金沂.基于Oracle数据库的C程序设计[J].计算机与网络,2006.endprint

猜你喜欢

操作系统C语言数据库
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
论子函数在C语言数据格式输出中的应用