比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 数据库 /ODBC和ADO的区别

ODBC和ADO的区别

2011年6月30日发布的Indika

ODBC和ADO

通常,软件应用程序是用特定的编程语言(如Java、c#等)编写的,而数据库则接受用其他特定于数据库的语言(如SQL)进行的查询。因此,当软件应用程序需要访问数据库中的数据时,就需要一个可以相互转换语言(应用程序和数据库)的接口。否则,应用程序程序员需要学习数据库特定语言,并将其合并到应用程序中。ODBC(开放数据库连接)和OLE DB(对象链接和嵌入,数据库)是解决这个特定问题的两个接口。ODBC是一个独立于平台、语言和操作系统的接口,可用于此目的。OLE DB是ODBC的继承者。ADO是OLE DB的包装器。

ODBC是什么?

ODBC是一个访问数据库管理系统(DBMS)的接口。ODBC是在1992年由SQL Access Group开发的,当时数据库和应用程序之间还没有标准的通信媒介。它不依赖于特定的编程语言、数据库系统或操作系统。程序员可以使用ODBC接口编写可以从任何数据库查询数据的应用程序,而不管它运行在什么环境或使用什么类型的DBMS。

由于ODBC驱动程序充当应用程序和数据库之间的转换程序,因此ODBC能够实现语言和平台独立性。这意味着应用程序不再需要了解特定于数据库的语言。相反,它只知道并使用ODBS语法,驱动程序将用它能理解的语言将查询翻译到数据库。然后,以应用程序可以理解的格式返回结果。ODBC软件API既可以用于关系数据库系统,也可以用于非关系数据库系统。将ODBC作为应用程序和数据库之间的通用中间件的另一个主要优点是,每当数据库规范更改时,不需要更新软件。只需更新ODBC驱动程序就足够了。

ADO是什么?

ADO是COM(组件对象模式)对象的集合,这些对象充当访问数据源中的数据的接口。ADO于1996年由微软开发,是微软数据访问组件(MDAC)的一部分。ADO在用某种编程语言编写的应用程序和OLE DB (Microsoft开发的数据API,是ODBC的继承者)之间形成了一个中间件层。程序员可以使用ADO访问数据,而不需要知道数据库的底层实现细节。虽然使用ADO不需要知道任何SQL,但您当然可以使用它执行SQL语句。

ODBC和ADO的区别是什么?

ODBC是一个开放的接口,任何应用程序都可以使用它与任何数据库系统进行通信,而ADO是OLE DB(它是ODBC的继承者)的包装。如果数据库不支持OLE(非OLE环境),那么ODBC是最佳选择。如果环境是非SQL,则必须使用ADO(因为ODBC只适用于SQL)。如果需要可互操作的数据库组件,则需要使用ADO而不是ODBC。但是,对于16位数据,访问ODBC是唯一的选择(ADO不支持16位)。最后,ADO是同时连接到多个数据库的最佳选择(ODBC一次只能连接到一个数据库)。

相关文章:

ODBC和JDBC的区别 Database和Instance的区别 SQL Server 2008和Express的区别 DBMS与数据仓库的区别 栈和堆的区别

了下:数据库标记:com,ADO,ODBC的优点,组件对象模式,接口,访问DBMS的接口,MDAC,微软ADO,ODBC,ODBC驱动程序,ODBC接口,奥立,OLE DB,开放数据库连接,开放的接口,SQL访问组,包装器

关于作者:Indika

Indika,二元同步通信。工程硕士,计算机工程博士。计算机科学副教授,主要研究方向为生物信息学、计算生物学和生物医学自然语言处理。

评论

  1. 拉胡尔Janak说

    2015年12月27日12:27

    有人能分享一下这方面的观点吗……在同一句话中说ODBC可以用于与任何数据库系统通信……后来又说ODBC只能用于SQL?

    ODBC是一个开放的接口,任何应用程序都可以使用它与任何数据库系统进行通信,而ADO是OLE DB (ODBC的继承者)的包装。如果数据库不支持OLE(非OLE环境),那么ODBC是最佳选择。如果环境是非SQL,则必须使用ADO(因为ODBC只适用于SQL)。”

    回复
    • 空军联队说

      2017年9月6日上午7:04

      可以使用ODBC与任何SQL数据库系统通信

      回复
    • 卡梅隆说

      2020年3月6日凌晨1:06

      “…只与SQL”是指“SQL语言”,而不是SQL数据库产品。不幸的命名冲突。

      回复

留下一个回复取消回复

你的电邮地址不会被公布。必填字段被标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒与流感的区别

冠状病毒与流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

体积与表面积之差

教育与学习的区别

教育与学习的区别

Idea和Thought的区别

衰老和衰老的区别

衰老和衰老的区别

数字和模拟的区别

最新的文章

  • 流产和死产有什么区别
  • 锰氧化物和二氧化锰的区别是什么
  • 小麦、大麦和燕麦有什么不同
  • 甾体抗炎药和非甾体抗炎药有什么区别
  • 钾肥和磷酸盐有什么区别
  • 镁和甘氨酸镁有什么区别
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.