用于 Microsoft Active Directory Service 的 Microsoft OLE DB 提供程序

适用于:Access 2013、Office 2013

Microsoft Active Directory Service Interfaces (ADSI) 提供程序允许 ADO 通过 ADSI 连接到各种异构目录服务。 这样,除可以访问任何 LDAP 兼容目录服务和 Novell 目录服务外,还为 ADO 应用程序提供了对 Microsoft Windows NT 4.0 和 Microsoft Windows 2000 目录服务的只读访问权限。 ADSI 本身就基于一个提供程序模型,因此,如果有一个新的提供程序提供了对其他目录的访问权限,ADO 应用程序就可以对该目录进行无缝访问。 ADSI 提供程序为自由线程且支持 Unicode。

连接字符串参数

若要连接到此提供程序,请将 ConnectionString 属性的 Provider 参数设置为:

 
ADSDSOObject 

读取 Provider 属性时,也会返回此字符串。

典型的连接字符串

此提供程序典型的连接字符串为:

 
"Provider=ADSDSOObject;User ID=userName;Password=userPassword;" 

该字符串由以下关键字组成:

关键字

说明

Provider

指定 Microsoft OLE DB Provider for Microsoft Active Directory Service。

User ID

指定用户名。 如果忽略此关键字,则使用当前的登录用户名。

Password

指定用户密码。 如果忽略此关键字,则使用当前的登录密码。

命令文本

该提供程序采用以下语法识别包含四个部分的命令文本字符串:

"Root; Filter; Attributes[; Scope]"

说明

指示搜索开始的 ADsPath 对象(即搜索的根目录)。

筛选

指示采用 RFC 1960 格式的搜索筛选器。

属性

指示要返回的以逗号分隔的属性列表。

Scope

可选。 指定搜索范围的 String。 可以是以下选项之一:Base - 仅搜索基本对象 (搜索) 的根目录。
OneLevel - 仅搜索一个级别。
子树 - 搜索整个子树。

例如:

 
"<LDAP://DC=ArcadiaBay,DC=COM>;(objectClass=*);sn, givenName; subtree" 

该提供程序还支持命令文本使用 SQL SELECT。 例如:

 
"SELECT title, telephoneNumber From 'LDAP://DC=Microsoft, DC=COM' WHERE 
objectClass='user' AND objectCategory='Person'" 

该提供程序不会接受存储过程调用或简单的表名称(例如,CommandType 属性将始终为 adCmdText)。 有关命令文本元素的更完整的说明,请参阅 Active Directory Service Interfaces 文档。

Recordset 行为

下面的表列出了使用此提供程序打开的 Recordset 对象上可用的功能。 只有静态游标类型 (adOpenStatic) 可用。

有关提供程序配置的 Recordset 行为的详细信息,请运行 Supports 方法并枚举 RecordsetProperties 集合,以确定提供程序特定的动态属性是否存在。

标准 ADO Recordset 属性的可用性:

属性

可用性

AbsolutePage

读/写

AbsolutePosition

读/写

ActiveConnection

只读

BOF

只读

Bookmark

读/写

CacheSize

读/写

CursorLocation

始终为 adUseServer

CursorType

始终为 adOpenStatic

EditMode

始终为 adEditNone

EOF

只读

筛选

读/写

LockType

读/写

MarshalOptions

不适用

MaxRecords

读/写

PageCount

只读

PageSize

读/写

RecordCount

只读

Source

读/写

状态

只读

状态

只读

标准 ADO Recordset 方法的可用性:

方法

可用?

AddNew

Cancel

CancelBatch

CancelUpdate

Clone

Close

删除

GetRows

移动

MoveFirst

MoveLast

MoveNext

MovePrevious

NextRecordset

打开

Requery

重新同步

支持

更新

UpdateBatch