我目前正在尝试将用户信息从Active目录提取到MS Access Table。如果这是由SQL查询或VBA完成的,我有点困惑。
答案 0 :(得分:2)
SQL用于处理关系数据库,Access允许您针对自身和任何ODBC关系数据源运行SQL。
Active Directory也是一个数据库,但它不是关系数据库(即使用表的数据库),而是一种称为分层数据库的 graph-database 形式,具有多个根节点。每个节点都有一组属性,一个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数据库,但其他概念(连接,命令和参数)是相同。