【发布时间】:2016-05-02 03:42:35
【问题描述】:
我目前正在尝试将用户信息从 Active Directory 提取到 MS Access 表中。如果这是通过 SQL 查询或 VBA 完成的,我有点困惑。
【问题讨论】:
我目前正在尝试将用户信息从 Active Directory 提取到 MS Access 表中。如果这是通过 SQL 查询或 VBA 完成的,我有点困惑。
【问题讨论】:
SQL 用于处理关系数据库,Access 允许您针对自身和任何 ODBC 关系数据源运行 SQL。
Active Directory 也是一个数据库,但它不是关系数据库(即使用表的数据库),而是一种称为分层数据库的 图形数据库 形式,具有多个根节点。每个节点都有一组属性、一个 ACL 和多个子节点。节点可以是容器、用户、计算机、组织单位等。
要查询 Active Directory,您可以使用 LDAP 查询(因为 Active Directory 是 LDAP 的一种实现)。
Access 中的 VBA 与使用 LDAP 的 VBScript 兼容,因此您可以使用以下技术:Querying Active Directory using VBScript
令人困惑的是,ADODB(Microsoft 的基于 COM 的数据库 API)可用于针对关系数据库和非关系数据库。请注意,在此示例中(来自上述链接的问题和答案)ADODB.Connection 是 LDAP://RootDSE 而不是 Access 或 SQL 数据库,但其他概念(连接、命令和参数)是相同的。
【讨论】:
ADODB.Command::Execute 检索的ADODB.RecordSet 对象中获得结果。