运用Oracle Object for OLE开发数据库应用

Oracle以OLE的方式提供了一套对象(类库)访问数据库,他们简化了编写与Oracle数据库通信的程序, 这套对象由三种原理的组件组成:The Oracle Server,The Oracle DataContral 和Oracle Object OLE C++ Class Library。此处讨论第三种:Oracle Object For OLE C++ Class Library。

1.实现原理

这些类库是一个提供编程接口访问Oracle对象服务器的C++类库,它是用OLE的方式实现的。它支持32位平台上的,VC++2.x及以上版本。Oracle提供的是一个在程(In process)服务器,也就是服务器将与应用程序在同一个地址空间内, 它以DLL方式提供(图1)。应用程序在访问数据库之前必须先加载Oracle对象服务器(OStatup方法),然后与Oracle对象服务器通信,Oracle对象服务器其实是一些组件,它通过Oracle的OCI访问数据库。这样你就不必关心到底怎么与服务器通信,只管操纵类库就行了。所以,虽然它是用OLE实现的,但您既不需要OLE开发工具,也不要求您有OLE开发的知识。但必须有C++开发知识及开发环境,而且应该有SQL的知识。

说明:正如Microsoft以C打头表示类,Borland以T打头表示类一样,Oracle提供的C++类库的类以O打头。

图1

图2

图3

 

2.特点

它的使用方法我觉得与使用微软封装后的ODBC基本一样,所以它的使用方法我想你也能很快熟悉。

在加入对象的类中, 类库提供一种允许控件能象文本和列表框一样直接连接到一个数据库的列上的类(OBinder),这种类支持运行是绑定, 如果你有使用MFC的经验,那么,您将很快的学会这套类库的使用。Oracle 提供的这套类库能让开发者容易,快速地以最小C++代码量访问Oracle 数据库。

3.类库

类库支持最简单的C数据类型: int ,long,double,char*。这层是一层级别比较低的接口,虽然你会发现支持你自己的数据类型并不难,但它不直接提供支持更高级的数据类型。 它的操作的级别非常高,你可以通过构造一个ODatabase对象来连接数据库(ODatabase odb("database name","username","user password"),你可以通过构造一个ODynaset对象来获得某表全部的数据(ODynaset odyn(odb,"select * from ...."),你可以通过操纵查询结果来向前或向后翻动。

运用Oracle Objects for OLE C++ Class Library开发的步骤:

  • 通过调用OStatup方法初始化类库。
  • 连接数据库。
  • 操纵数据库
  • 断开数据库(类库自动为你自动执行)
  • 通过调用OShutdown方法卸载类库。

它的详细使用方法,及每个类库的使用,请阅读Oracle提供的文档。

4.总结

运用Oracle Object For OLE C++ Class Library开发数据库应用非常方便,但要做一套系统,形成一套体系这是远远不够的。想作一套能满足需求、持续发展的应用系统,需要作的工作很多,需要不断积累。现在有了C++,Java又有了COM/DCOM/CORBA我们这些今天的程序员真是太幸运了。

5.我开发的例子:下载156K

开发环境:VC++6.0+MFC

数据库:Oracle 8.0

请将oraclm.dll拷贝到运行文件的目录中!

要运行例子要先装Oracle 8.0,如果有什么问题,请看你机器上的Oracle安装目录下的mshelp/Oraclec.hlp。

 
 
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值