【问题标题】:Getting user data from Active Directory using PL/SQL使用 PL/SQL 从 Active Directory 获取用户数据
【发布时间】:2011-02-20 14:34:54
【问题描述】:

我今天讨论了我前段时间写的一个 Oracle 过程。

我想使用 PL/SQL 从 Active Directory 中获取 7500 个用户电子邮件地址。 AD 将返回最多 1000 行,Oracle 使用的 LDAP 提供程序将不支持分页。

因此,我的解决方案是过滤 sAMAccountName 的最后两个字符(*00、*01、*02...等)。这会产生 126 个查询(100 个用于以数字结尾的帐户名称,26 个用于以字母结尾的查询……这对于我的 AD 设置来说已经足够了)。

与我交谈的人(顺便说一句,这是一次工作面试)说他本可以做得更好,但他不会告诉我那个方法是什么。

谁能猜猜这个方法是什么?

【问题讨论】:

    标签: sql oracle plsql ldap openldap


    【解决方案1】:

    真的很琐碎,作为一个求职面试问题,我不知道他们需要什么技能,但在我看来这是一个奇怪的“Oracle”问题,因为它需要对Microsoft AD有详细的了解,但没有特别的PL /SQL 知识。

    您可能不得不说使用属性范围检索。 这里解释 http://msdn.microsoft.com/en-us/library/Aa772308

    【讨论】:

    • OpenLDAP 也不支持。
    【解决方案2】:

    如果结果集按名称排序,您可以只要求下一个名称大于上一个名称的 1.000。 并重复此操作,直到获得少于 1.000 个或没有更多结果。

    【讨论】:

    • 好建议,不幸的是 OpenLDAP 提供程序也不支持排序,并且结果不会按 sAMAccountName 排序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多