【发布时间】:2017-12-07 20:05:59
【问题描述】:
我正在创建一个需要访问 Active Directory 的 SSIS 包。我创建了一个 ADO.NET 连接并编写了一个选择 LDAP 查询来拉回记录(见下文)。我能够成功检索数据,但 Active Directory 属性之一是返回 System.Object[] 而不是我想要的部门编号。有没有办法使用查询成功地将 System.Object 转换为真实数据?提前致谢。
查询示例:
SELECT department, departmentnumber, sAMAccountName
FROM 'LDAP://example.com' WHERE objectClass='User'
结果:
|department |departmentnumber |sAMAccountName|
|Hollywood |System.Object[] |ceastwood |
更新:经过我的研究,我将补充说,如果它返回 System.Object,我不相信可以使用这个 LDAP SQL 查询。我发现了许多使用脚本任务执行类似操作的好例子HERE
我创建了一个控制台应用程序并构建它以将我的 Active Directory 数据直接插入 SQL。我建议您阅读 Stack Over Flow 上的文章。他们为我完成这项任务提供了很大帮助,尽管这不是我想要的方式。
【问题讨论】:
-
如果你使用SysInternals ADExplorer之类的东西,
departmentnumber的语法会显示什么? -
使用上面的工具(谢谢),在导航到 CN=departmentNumber 时,它有几个属性都具有不同的语法。我应该寻找哪个属性? attributeSyntax 属性语法 = DirectoryString
-
对于它的价值.. 在数据流 ADO NET 源中,当我预览查询时,它会在该级别显示 System.object,以便排除不会导致问题的数据流目标.
标签: sql ssis active-directory