OLE DB 提供程序 (ADO)

OLE DB 定义了一组 COM 接口,为应用程序提供对存储在不同信息源中的数据的统一访问。 此方法允许数据源通过支持适合数据源的 DBMS 功能的接口共享其数据。 根据设计,OLE DB 的高性能体系结构基于其使用灵活、基于组件的服务模型。 OLE DB 不需要在应用程序和数据之间指定数量的中间层,而只需要尽可能多的组件来完成特定任务。

例如,假设用户想要运行查询。 请考虑以下方案:

  • 数据驻留在当前存在 ODBC 驱动程序但没有本机 OLE DB 访问接口的关系数据库中:应用程序使用 ADO 与 OLE DB Provider for ODBC 通信,然后加载相应的 ODBC 驱动程序。 驱动程序将 SQL 语句传递给检索数据的 DBMS。

  • 数据驻留在 SQL Server Microsoft,其中存在本机 OLE DB 访问接口:应用程序使用 ADO 直接与用于 Microsoft SQL Server 的 OLE DB 访问接口通信。 不需要中介。

  • 数据驻留在 Microsoft Exchange Server 上,其中存在 OLE DB 提供程序,但不公开用于处理 SQL 查询的引擎:应用程序使用 ADO 与微软 Exchange 的 OLE DB 提供程序通信,并调用 OLE DB 查询处理器组件来处理查询。

  • 数据以文档形式驻留在 Microsoft NTFS 文件系统中:通过使用本机 OLE DB 访问接口访问数据,该提供程序通过Microsoft索引服务来为文件系统中的文档的内容和属性编制索引,以实现高效的内容搜索。

在前面的所有示例中,应用程序都可以查询数据。 满足用户需求只需最少的组件。 在每个情况下,仅在需要时使用其他组件,并且仅调用所需的组件。 使用 OLE DB 时,这种可重用和可共享组件的需求加载极大地促进了高性能。

提供者分为两类:一类提供数据,一类提供服务。 数据提供程序拥有自己的数据,并将其以表格形式公开给应用程序。 服务提供商通过生成和使用数据来封装服务,从而增强 ADO 应用程序中的功能。 服务提供商还可以进一步定义为服务组件,该组件必须与其他服务提供商或组件结合使用。

ADO 为各种 OLE DB 提供程序提供一致的更高级别的接口。

本节包含以下主题。