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.