I’ve made several updates to my package for maintaining name resolution entries in LDAP.
The search calls have been modified to be both more accurate and more efficient. Previously I would use the one-level search under the OracleContext path whether the search was for a specific entry or all of them. Now, if you search for a specific entry, the routines look for only that entry with a direct base-path search. All of the search calls now use a filter string constant to restrict results to service name and alias references. While it is unlikely other record types would be found within a OracleContext branch of the LDAP hierarchy I felt it was a good idea to ensure the results of any search would be exactly what we were expecting.
Also in this release is a belated enhancement to the import procedure. Version 2.0 added support for orclNetServiceAlias references for the insert, update, and delete routines; but the import procedure only supported orclNetService type records. Starting with the 2.2 release, alias records will also transfer.
An additional error action to the import procedure now allows for logging and continuation when using the replace option. So, if you encounter duplicate records and wish to update them, you can now do so and if an error occurs with a particular entry, the error will be added to the log array and then processing will continue for the remaining entries.
The lengths of several variables have been extended to support longer values. Other changes are nonfunctional: minor formatting differences and a few typos/misspellings in comments have been corrected.
The updated version can be found in my dropbox here: https://www.dropbox.com/s/kp9zmab83i5mzfb/sdsoid.txt?dl=0