附录 A:数据和服务提供程序

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

数据提供程序

ADO 功能强大且灵活,因为它可以连接到多个不同数据提供程序中的任何一个,并且仍可公开相同的编程模型,而不考虑任何给定提供程序的特定功能。

但是,由于每个数据提供程序都是唯一的,因此应用程序与 ADO 的交互方式因数据提供程序而略微不同。 这些差异通常由下面三种类别的原因之一导致:

Microsoft 当前提供的每个数据提供程序的详细信息如下所示。

区域 主题
ODBC 数据库 Microsoft OLE DB Provider for ODBC
Microsoft 索引服务 Microsoft OLE DB Provider for Microsoft Indexing Service
Active Directory 服务 Microsoft OLE DB Provider for Microsoft Active Directory Service
Microsoft Jet 数据库 OLE DB Provider for Microsoft Jet
Microsoft SQL Server Microsoft OLE DB Provider for SQL Server
Oracle 数据库 Oracle 的 Microsoft OLE DB 提供程序
Internet 发布 Microsoft OLE DB Provider for Internet Publishing
简单数据源 Microsoft OLE DB 简单提供程序

提供程序特定的动态属性

ConnectionCommandRecordset 对象的属性集合包含特定于提供程序的动态属性。 这些属性提供了提供程序专属功能的相关信息,这超出了 ADO 支持的内置属性的范围。

建立连接并创建这些对象后,对对象的“属性”集合使用 Refresh 方法来获取特定于提供程序的属性。 有关这些动态属性的详细信息,请参阅提供程序文档和 OLE DB 程序员指南

服务提供商

要使用服务提供程序,必须提供关键字。 还应注意与每个服务提供程序关联的特定于提供程序的动态属性。 对于 Microsoft 当前提供的每个服务提供程序,列出了特定于提供程序的详细信息:

服务组件

OLE DB 的游标服务组件对数据提供程序的游标支持函数进行了补充。 它还需要关键字并具有动态属性。

有关 OLE DB 提供程序的详细信息,请参阅 Microsoft OLE DB

提供程序命令

对于此处列出的每个提供程序,如果应用程序允许用户输入 SQL 语句作为提供程序命令,则必须始终验证用户输入,并警惕在用户输入中使用潜在危险的 SQL 语句(例如 DROP TABLE t1)而可能带来的黑客攻击。

另请参阅

Command 对象 (ADO)Connection 对象 (ADO)Microsoft OLE DB Provider for Internet PublishingMicrosoft OLE DB Provider for Microsoft Active Directory ServiceMicrosoft OLE DB Provider for Microsoft Indexing ServiceMicrosoft OLE DB Provider for ODBCOracle 的 Microsoft OLE DB 提供程序Microsoft OLE DB Provider for SQL ServerMicrosoft OLE DB Provider for Microsoft Jet属性集合 (ADO)Recordset 对象 (ADO)Refresh 方法 (RDS)