Re: dbms_ldap

  • From: "Michael McMullen" <ganstadba@xxxxxxxxxxx>
  • To: "Oracle Discussion List" <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 28 Apr 2006 09:01:42 -0400

Looks like you're being limited by your ldap server. Ours restricts us to
100 values returned. We have to do the following.
Loop through a table with 36 values. These values consists of all the
letters of the alphabet plus the numbers 0-9. This number or letter is
appended to the first bunch of employeed numbers we are interested in. We
then loop through each of the 36 values 26 times appending a letter of the
alphabet. We then use each one of these as our search against ldap.
Cumbersome and slow and not even guaranteed to bring back less than 100
employees but it's working for now.

Mike

BEGIN
        WHILE nCounter < 36 LOOP
            SELECT item INTO sItem
            FROM ldap_sequence
            WHERE count = nCounter;

    nCounter2 := 0;

     WHILE nCounter2 < 26 lOOP
   SELECT item INTO sItem2
   FROM ldap_sequence
   WHERE count = nCounter2;

    sFilter := '';
    sFilter := sFilterPrefix||sTierB||sItem||'*)(sn='||sItem2||'*))';

                        employee_data(sFilter); --make the call to ldap
server
    nCounter2 := nCounter2 + 1;


  END LOOP;

            nCounter := nCounter + 1;

        END LOOP;

COMMIT;
END tier_b;
--
//www.freelists.org/webpage/oracle-l


Other related posts: