• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • 压缩SQL数据库
  • 实例讲解MYSQL数据库的查询优化技术
  • MySQL查询优化技术讲座
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL Server 性能优化工具
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • 支持中文的MySQL 5.1+ 全文检索分词插件
  • MySQL数据导入导出方法与工具mysqlimport
  • VS.NET中构建数据库应用程序
  • 如何使用SQL Server 2000中的XML功能
  • Server 2005性能排错
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • SQL Server 2000中的SQL语言简介
 
 

相关文章

  • 使用.NET语言开发Silverlight应用程序入门(二):界面..
  • 使用.NET语言开发Silverlight应用程序入门(一):了解..
  • 微软代码和应用程序共享网站MSDN Code Gallery上线
  • 开发优质高效的Informix数据库应用程序
  • VS.NET中构建数据库应用程序
  • 使用Microsoft SQL Server 2005 构建更好的应用程序
 
 

百度搜索

 
 

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

  • 阅览次数:
  • 文章来源: CP整理
  • 原文作者: 不详
  • 整理日期: 2007-04-11
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

使用ODBC中间件访问数据库

1.ODBC工作原理

ODBC是Open Database Connect(开放数据库互连)的简称,它是由Microsoft公司于1 991年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而提供了数据库的独立性。

ODBC主要由驱动程序和驱动程序管理器组成。驱动程序是一个用以支持ODBC函数调用的模块(在WIN95下通常是一个DLL),每个驱动程序对应于相应的数据库,当应用程序从基于一个数据库系统移植到另一个时,只需更改应用程序中由ODBC管理程序设定的与相应数据库系统对应的别名即可。驱动程序管理器(包含在ODBC32.DLL中)可链接到所有ODBC 应用程序中,它负责管理应用程序中ODBC函数与DLL中函数的绑定。

ODBC使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC一经推出就获得巨大成功的重要原因之一。

从结构上分,ODBC分为单束式和多束式两类。

单束式驱动程序

单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。

当用户进行数据库操作时,应用程序传递一个ODBC函数调用给ODBC驱动程序管理器, 由ODBC API判断该调用是由它直接处理还是送交驱动程序执行。

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

多束式驱动程序

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

前端应用程序提出对数据库处理的请求,该请求转给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]

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号