OLE DB 提供程序 (ADO)

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

例如,假设用户想要运行查询。 请考虑下列情形:

  • 数据驻留在当前存在 ODBC 驱动程序但没有本机 OLE DB 提供程序的关系数据库中:应用程序使用 ADO 与 ODBC 的 OLE DB 提供程序通信,后者随后加载适当的 ODBC 驱动程序。 驱动程序将 SQL 语句传递给检索数据的 DBMS。

  • 数据驻留在具有本机 OLE DB 提供程序的 Microsoft SQL Server 中:应用程序使用 ADO 直接与 Microsoft SQL Server 的 OLE DB 提供程序对话。 不需要中介。

  • 数据驻留在 Microsoft Exchange Server 中,后者有一个 OLE DB 提供程序,但不公开处理 SQL 查询的引擎:应用程序使用 ADO 与 Microsoft Exchange 的 OLE DB 提供程序对话,并调用 OLE DB 查询处理器处理查询的组件。

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

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

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

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

本部分包含以下主题。