ODBC 和OLEDB

        ODBC(OpenDataBase Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows OpenServices Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 
        它本身就是为了是数据库的使用者不必考虑使用的是何种数据库而只需要相同的操作而设计的。
       ODBC是Open Database Connect即开放数据库互连的简称,它是由Microsoft 公司于1991 年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而提供了数据库的独立性。
       ODBC 主要由驱动程序和驱动程序管理器组成。驱动程序是一个用以支持ODBC 函数调用的模块,每个驱动程序对应于相应的数据库,当应用程序从基于一个数据库系统移植到另一个时,只需更改应用程序中由ODBC 管理程序设定的与相应数据库系统对应的别名即可。驱动程序管理器可链接到所有ODBC 应用程序中,它负责管理应用程序中ODBC 函数与DLL 中函数的绑定.
       ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC 一经推出就获得巨大成功的重要原因之一。
       odbc中提供三种dsn,它们的区别很简单:
       用户dsn只能用于本用户。
       系统dsn和文件dsn的区别只在于连接信息的存放位置不同:系统dsn存放在odbc储存区里,而文件dsn则放在一个文本文件中

=====================================================================
        OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的"应用程序". 你的ADO调用先被送到OLEDB,然后再交由ODBC处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升.

       值得注意的是,OLE DB对ODBC的兼容性,允许OLE DB访问现有的ODBC数据源。其优点很明显,由于ODBC相对OLE DB来说使用得更为普遍,因此可以获得的ODBC驱动程序相应地要比OLE DB的要多。这样不一定要得到OLE DB的驱动程序,就可以立即访问原有的数据系统。

       提供者位于OLE DB层,而驱动程序位于ODBC层。如果想使用一个ODBC数据源,需要使用针对ODBC的OLE DB提供者,它会接着使用相应的ODBC驱动程序。如果不需要使用ODBC数据源,那么可以使用相应的OLE DB提供者,这些通常称为本地提供者(native provider)。

        可以清楚地看出使用ODBC提供者意味着需要一个额外的层。因此,当访问相同的数据时,针对ODBC的OLE DB提供者可能会比本地的OLEDB提供者的速度慢一些。

在VB中进行数据库操作时,ODBCOLEDB是两种常用的数据访问接口标准,它们各有特点和适用场景。ODBC(Open Database Connectivity)是一个开放标准,它允许应用程序通过SQL命令与关系数据库进行通信。ODBC通常用于访问结构化数据,它定义了一组API函数,这些函数以SQL语句为核心。在使用ODBC之前,需要通过ODBC管理器设置数据源,这会根据提供的数据库信息(如位置、类型和驱动程序)建立ODBC与特定数据库的连接。一旦数据源被注册,应用程序只需提供数据源名称即可连接到相应的数据库。ODBC的优点在于它的开放性和兼容性,它能够支持各种关系数据库系统。然而,ODBC在性能上可能不是最优选择,特别是在需要频繁进行数据库操作的应用中。 参考资源链接:[VB数据库操作详解:ODBCOLEDB](https://wenku.csdn.net/doc/2euqraacrb?spm=1055.2569.3001.10343) 另一方面,OLEDB(Object Linking and Embedding for Databases)是基于COM(Component Object Model)的对象链接和嵌入数据库技术。OLEDB的目标是提供一个统一的接口来访问各种类型的数据源,不仅包括传统的关系数据库,还扩展到电子邮件、Web数据、目录服务、主机系统文件等非传统数据。OLEDB强调通过相同的接口访问不同数据存储,使得开发者无需关注数据的实际存储位置、格式或类型。OLEDB更加面向对象,更适合处理非结构化和半结构化数据,提供了更为灵活和高效的数据库访问方式。 在选择ODBCOLEDB时,需要考虑应用的具体需求。如果主要操作的是关系型数据库并且对兼容性和开放性有较高要求,那么ODBC是一个不错的选择。对于需要处理更复杂数据类型或者需要更高性能的应用场景,OLEDB可能更为合适。在VB数据库编程实践中,开发者应当根据数据的类型和结构、操作的复杂度、以及性能需求来选择最合适的接口标准,从而确保应用的高效稳定运行。为了深入了解这两种接口在VB中的应用和最佳实践,建议查阅《VB数据库操作详解:ODBCOLEDB》。这本书详细讨论了如何在VB中实现ODBCOLEDB接口,以及在实际案例中如何根据不同的需求选择不同的接口技术,是学习和解决实际问题的宝贵资源。 参考资源链接:[VB数据库操作详解:ODBCOLEDB](https://wenku.csdn.net/doc/2euqraacrb?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

请叫我曾阿牛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值