知识点滴 - ODBC和ADO的区别

通常,软件应用程序是用特定的编程语言(如Java、C#等)编写的,而数据库则接受其他一些数据库特定语言(如SQL)的查询。因此,当一个软件应用程序需要访问数据库中的数据时,需要一个能够将语言相互转换的接口(应用程序和数据库)。除此以外,应用程序的程序员需要学习并在他们的应用程序中加入数据库特定语言。ODBC(Open Database Connectivity)和OLE DB(Object Linking and Embedding, Database)是两个数据库访问接口,可以用来解决这个问题。ODBC是一个独立于平台、语言和操作系统的接口。OLE DB是ODBC的一个继承者。ADO是OLE DB的一个封装器。

什么是ODBC?

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

由于ODBC驱动程序作为应用程序和数据库之间的翻译,ODBC能够实现语言和平台的独立性。这意味着应用程序可以摆脱了解数据库特定语言的负担。相反,它只知道并使用ODBS语法,而驱动程序将以数据库能理解的语言将查询翻译给它。然后,结果会以应用程序可以理解的格式返回。ODBC软件API可以用于关系型和非关系型数据库系统。将ODBC作为应用程序和数据库之间的通用中间件的另一个主要优势是,每次数据库规格发生变化时,软件都不需要更新。只需要更新ODBC驱动程序就可以了。

什么是ADO?

ADO是一个COM(Component Object Mode)对象的集合,作为访问数据源中的数据的接口。ADO在1996年由微软开发,是微软数据访问组件(Microsoft Data Access Components / MDAC)的一部分。ADO在用某种编程语言编写的应用程序和OLE DB(由微软开发的数据API,是ODBC的继承者)之间形成了一个中间件层。程序员可以使用ADO来访问数据,而不知道数据库的底层实现细节。你不需要理解SQL,但可以使用ADO来执行SQL语句。

ODBC和ADO之间有什么区别?

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

参考:

Difference Between ODBC and ADO | Compare the Difference Between Similar Terms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值