2

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

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

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

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

有人可以大胆猜测这种方法是什么吗?

4

2 回答 2

1

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

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

于 2010-05-23T13:33:30.440 回答
0

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

于 2010-05-17T20:40:56.800 回答