分类:
2008-10-16 18:43:09
摘要:本文将介绍在Visual 6.0中开发应用程序的最常用的两种方式:ADO(ActiveX Data Objects, ActiveX 数据对象)与OCI( Call Interface, Oracle调用接口)。通过设计实验,采用两种方式分别完成数据初始化、数据读取、数据更新等工作,通过对比两种方式的代码量及运行速度来分析两种方式的特点,并最终总结出两种方式各自的优缺点与适用范围。
关键词:ADO, OCI, Oracle开发,Visual 开发
引言
Oracle以其优越的稳定性和卓越的性能在众多领域里有着广泛的应用,其高性能是Oracle优于其他数据库的关键因素。然而影响终端应用程序的性能不只是Oracle服务程序及硬件环境,应用程序的开发语言和开发方式也有着重要的影响。
目前,可以在多种开发语言中开发Oracle应用程序,比如可以在VB、Delphi等高级开发语言中开发,可以以C++开发,也可以以语言开发,甚至可以通过ASP、JSP、Perl等脚本语言来访问Oracle。这些语言环境各有其优势,C++无疑是追求极致速度的首选。
在C++中我们也可以有多种接口方式,可以使用ADO通用接口,可以使用OCI/OCCI,还可以使用ODBC、OO4O及OLEDB等方式。在这些方式中,ADO与OCI是应用最为广泛的两种方式,本文将集中力量介绍在Visual C++ 6.0 中这两种接口的开发方法及它们的特点对比。
一 ADO开发接口简介
ADO(ActiveX Data Objects,ActiveX数据对象)是Microsoft为强大的数据访问接口 OLEDB(对象链接和嵌入数据库)而设计的,是一个便于使用的应用层的编程接口。使用 ADO编写的应用程序可以通过OLEDB提供者访问和操作数据库中的数据。ADO 最主要的优点是易于使用、可以访问多种数据库及可以在多种语言中开发。
由于ADO建立在自动化(Automation)的基础上,所以ADO的应用场合非常广泛,不仅可在Visual Basic这样的高级语言开发环境中使用,还可以在一些脚本语言中使用,这对于开发Web应用和在ASP(Active Server Page,动态主页)的脚本代码中访问数据库提供了操作应用的捷径。
ADO访问数据库的模型示意参见图1。
图1 ADO模型示意图
从上图可以看出ADO是以OLE DB为基础,它对OLE DB进行了封装,所以ADO其实是OLE DB的应用层接口,是介于OLE DB与应用程序之间的中间层。这种结构为一致的数据访问接口提供了很好的扩展性,不再局限于特定的数据源,只要OLE DB支持的数据源,ADO都可以很好地支持。
ADO的另一个特性是使用简单,它封装了OLE DB的复杂的接口,以Connection、Recordset、Command三个主体对象及Errors、Properties、Parameters和Fields四个集合对象搭建起了ADO对象模型,见下图:
图2 ADO对象模型
通过这七个对象及它们的方法,我们就可以完成绝大多数的访问数据库的任务,来实现我们的应用目标。
[1]