2.2_Database Interface:ODBC基本概念

一、无ODBC时代

一般来讲不同的数据库厂商都有自己的数据库开发包,这些开发包支持两种模式的数据库开发;

1.预编译的嵌入模式(例如Oracle的ProC,SQL Server的ESQL)

2.API调用(例如Oracle的OCI)

预编译的嵌入模式:所有的SQL语句要写在程序内部,并遵守一定的规则,然后由数据库厂商的预编译工具处理后形成C代码,最后由C编译器进行编译

API调用:数据库厂商提供了开发包,你通过各种API函数就可以连接数据库,执行查询、修改、删除、操纵光标,执行存储过程

两者的对比:预编译的缺点就在于无法生成动态的SQL语句;API调用给程序更多自由,但只能针对同一种数据库。

从上图中看出,那些相对独立的软件供应商而言,经常要为每一个DBMS编写一个版本的应用程序(比如,针对数据库1的版本、数据库2的版本、数据库3的版本...)同时,多种数据库之间的互连访问成为一个突出的问题!

为解决这个问题,由三十多家著名的软件公司组成了一个组织,这个组织的目的是定义执行SQL的共同基础,以使其成员的产品都可以使用它来彼此交流数据。

二、ODBC时代  ---  DBMS(数据库管理系统)

在1994年,微软发布了针对Windows操作系统设计,实现上述标准的“这个产品”,并将这个产品正式成为开放数据库连接(Open Data Base Connection),即ODBC。基本思想如下图:

传统方式对比。如下图

图中,应用程序1、2、3采用公共接口API进行访问的,如下图所示:

如上图简化了开发维护难度,应用程序的目标代码能使用于不同的DBMS,把应用程序与底层网络环境和DBMS分开ODBC开放驱动程序管理模块,来接纳各个DBMS供应商(ORACLE、SYBASE、DB2等)提供符合ODBC规范标准的驱动程序,结构如下图:

 

转载于:https://www.cnblogs.com/ximi07/p/11225668.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值