WEB开发网
开发学院数据库Oracle 用VC开发Oracle数据库应用程序详解 阅读

用VC开发Oracle数据库应用程序详解

 2007-05-12 12:27:23 来源:WEB开发网   
核心提示: 可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方,多束式驱动程序多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作,而用于远程操作的网络通信协议的一个界面,用VC开发Oracle数据库应用程序

可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。

多束式驱动程序

多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作,而用于远程操作的网络通信协议的一个界面。

前端应用程序提出对数据库处理的请求,该请求转给ODBC驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序。多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如Oracle的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎。服务器处理完后把结果发回给数据库通信接口 ,数据库接口将结果传给多束式ODBC驱动程序,再由驱动程序将结果传给应用程序。

2.在VC中使用ODBC

Visual C++中提供了CDatabase、CRecordset、CRecordView、CDBException和CFie ldExchange五个类,这些类封装了ODBC SDK函数,从而使用户可以无需了解SDK函数就可以很方便地操作支持ODBC的数据库。

CDatabase类封装了与数据库建立连接、控制事务的提交和回滚及执行SQL语句的方法。

CRecordset类封装了大部分操纵数据库的方法,包括浏览、修改记录、控制游标移动、排序等操作。

CRecordView类提供了与Recordset对象相连接的视图,可以建立视中的控件与数据库数据的对应,同时支持移动游标、修改记录等操作。

CDBException类提供了对数据库操作的异常处理,可以获得操作异常的相关返回代码。

CFieldExchange类提供了用户变量与数据库字段之间的数据交换,如果不需要使用自定义类型,将不用直接调用该类的函数,MFC Wizard将自动为程序员建立链接。

两种方法的比较

综上所述,使用这两种方法在Visual C++中都可以很方便地开发出基于Oracle数据库的应用程序,同时,这两种方法又各有其优缺点。ODBC由于有MFC强大的类库支持而使得编程实现非常方便,同时可移植性也很强,在异构数据库之间移植也只需更改很少一部分程序。但是,由ODBC的实现机制我们可以看到,与PRO*C相比,应用程序需要经过ODBC驱动程序管理器和ODBC驱动程序两层,才能和数据库通信接口建立联系,而PRO*C是直接与通信接口联系,因此建立在ODBC上应用程序的执行效率会相对低一些。

上一页  1 2 3 4 

Tags:VC 开发 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接