Skip Headers
Oracle® Identity Management Application Developer's Guide
10g Release 2 (10.1.2)
Part No. B14087-01
  Go To Table Of Contents
Contents
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Index
Index

Previous
Previous
Next
Next
 

9 DBMS_LDAP PL/SQL Reference

DBMS_LDAP contains the functions and procedures that enable PL/SQL programmers to access data from LDAP servers. This chapter examines all of the API functions in detail.

The chapter contains these topics:


Note:

Sample code for the DBMS_LDAP package is available at this URL:
http://www.oracle.com/technology/sample_code/id_mgmt

9.1 Summary of Subprograms

Table 9-1 DBMS_LDAP API Subprograms

Function or Procedure Description
FUNCTION init
init() initializes a session with an LDAP server. This actually establishes a connection with the LDAP server.
FUNCTION simple_bind_s
The function simple_bind_s() can be used to perform simple user name and password authentication to the directory server.
FUNCTION bind_s
The function bind_s() can be used to perform complex authentication to the directory server.
FUNCTION unbind_s
The function unbind_s() is used for closing an active LDAP session.
FUNCTION compare_s
The function compare_s() can be used to test if a particular attribute in a particular entry has a particular value.
FUNCTION search_s
The function search_s() performs a synchronous search in the LDAP server. It returns control to the PL/SQL environment only after all of the search results have been sent by the server or if the search request is 'timed-out by the server.
FUNCTION search_st
The function search_st() performs a synchronous search in the LDAP server with a client side time out. It returns control to the PL/SQL environment only after all of the search results have been sent by the server or if the search request is 'timed-out' by the client or the server.
FUNCTION first_entry
The function first_entry is used to retrieve the first entry in the result set returned by either search_s() or search_st.
FUNCTION next_entry
The function next_entry() is used to iterate to the next entry in the result set of a search operation.
FUNCTION count_entries
This function is used to count the number of entries in the result set. It can also be used to count the number of entries remaining during a traversal of the result set using a combination of the functions first_entry() and next_entry.
FUNCTION first_attribute
The function first_attribute() fetches the first attribute of a given entry in the result set.
FUNCTION next_attribute
The function next_attribute()fetches the next attribute of a given entry in the result set.
FUNCTION get_dn
The function get_dn() retrieves the X.500 distinguished name of a given entry in the result set.
FUNCTION get_values
The function get_values()can be used to retrieve all of the values associated with a given attribute in a given entry.
FUNCTION get_values_len
The function get_values_len() can be used to retrieve values of attributes that have a 'Binary' syntax.
FUNCTION delete_s
This function can be used to remove a leaf entry in the LDAP Directory Information Tree.
FUNCTION modrdn2_s
The function modrdn2_s() can be used to rename the relative distinguished name of an entry.
FUNCTION err2string
The function err2string() can be used to convert an LDAP error code to a string in the local language in which the API is operating.
FUNCTION create_mod_array
The function create_mod_array() allocates memory for array modification entries that will be applied to an entry using the modify_s() functions.
PROCEDURE populate_mod_array (String Version)
Populates one set of attribute information for add or modify operations. This procedure call has to happen after DBMS_LDAP.create_mod_array() is called.
PROCEDURE populate_mod_array (Binary Version)
Populates one set of attribute information for add or modify operations. This procedure call has to occur after DBMS_LDAP.create_mod_array() is called.
PROCEDURE populate_mod_array (Binary Version. Uses BLOB Data Type)
Populates one set of attribute information for add or modify operations. This procedure call has to happen after DBMS_LDAP.create_mod_array() is called.
FUNCTION get_values_blob
The function get_values_blob() can be used to retrieve larger values of attributes that have a binary syntax.
FUNCTION count_values_blob
Counts the number of values returned by DBMS_LDAP.get_values_blob().
FUNCTION value_free_blob
Frees the memory associated with the BLOB_COLLECTION returned by DBMS_LDAP.get_values_blob().
FUNCTION modify_s
Performs a synchronous modification of an existing LDAP directory entry. Before calling add_s, you must call DBMS_LDAP.creat_mod_array() and DBMS_LDAP.populate_mod_array().
FUNCTION add_s
Adds a new entry to the LDAP directory synchronously. Before calling add_s, you must call DBMS_LDAP.creat_mod_array() and DBMS_LDAP.populate_mod_array().
PROCEDURE free_mod_array
Frees the memory allocated by DBMS_LDAP.create_mod_array().
FUNCTION count_values
Counts the number of values returned by DBMS_LDAP.get_values().
FUNCTION count_values_len
Counts the number of values returned by DBMS_LDAP.get_values_len ().
FUNCTION rename_s
Renames an LDAP entry synchronously.
FUNCTION explode_dn
Breaks a DN up into its components.
FUNCTION open_ssl
Establishes an SSL (Secure Sockets Layer) connection over an existing LDAP connection.
FUNCTION msgfree
This function frees the chain of messages associated with the message handle returned by synchronous search functions.
FUNCTION ber_free
This function frees the memory associated with a handle to BER_ELEMENT.
FUNCTION nls_convert_to_utf8
The nls_convert_to_utf8 function converts the input string containing database character set data to UTF8 character set data and returns it.
FUNCTION nls_convert_from_utf8
The nls_convert_from_utf8 function converts the input string containing UTF8 character set data to database character set data and returns it.
FUNCTION nls_get_dbcharset_name
The nls_get_dbcharset_name function returns a string containing the database character set name.


See Also:


9.2 Exception Summary

DBMS_LDAP can generate the exceptions described in Table 9-2.

Table 9-2 DBMS_LDAP Exception Summary

Exception Name Oracle Error Number Cause of Exception
general_error
31202 Raised anytime an error is encountered that does not have a specific PL/SQL exception associated with it. The error string contains the description of the problem in the user's language.
init_failed
31203 Raised by DBMS_LDAP.init() if there are problems.
invalid_session
31204 Raised by all functions and procedures in the DBMS_LDAP package if they are passed an invalid session handle.
invalid_auth_method
31205 Raised by DBMS_LDAP.bind_s()if the authentication method requested is not supported.
invalid_search_scope
31206 Raised by all search functions if the scope of the search is invalid.
invalid_search_time_val
31207
Raised by DBMS_LDAP.search_st()if it is given an invalid value for a time limit.
invalid_message
31208
Raised by all functions that iterate through a result-set for getting entries from a search operation if the message handle given to them is invalid.
count_entry_error
31209
Raised by DBMS_LDAP.count_entries if it cannot count the entries in a given result set.
get_dn_error
31210
Raised by DBMS_LDAP.get_dn if the DN of the entry it is retrieving is NULL.
invalid_entry_dn
31211
Raised by all functions that modify, add, or rename an entry if they are presented with an invalid entry DN.
invalid_mod_array
31212
Raised by all functions that take a modification array as an argument if they are given an invalid modification array.
invalid_mod_option
31213
Raised by DBMS_LDAP.populate_mod_array if the modification option given is anything other than MOD_ADD, MOD_DELETE or MOD_REPLACE.
invalid_mod_type
31214
Raised by DBMS_LDAP.populate_mod_array if the attribute type that is being modified is NULL.
invalid_mod_value
31215
Raised by DBMS_LDAP.populate_mod_array if the modification value parameter for a given attribute is NULL.
invalid_rdn
31216
Raised by all functions and procedures that expect a valid RDN and are provided with an invalid one.
invalid_newparent
31217
Raised by DBMS_LDAP.rename_s if the new parent of an entry being renamed is NULL.
invalid_deleteoldrdn
31218
Raised by DBMS_LDAP.rename_s if the deleteoldrdn parameter is invalid.
invalid_notypes
31219
Raised by DBMS_LDAP.explode_dn if the notypes parameter is invalid.
invalid_ssl_wallet_loc
31220
Raised by DBMS_LDAP.open_ssl if the wallet location is NULL but the SSL authentication mode requires a valid wallet.
invalid_ssl_wallet_password
31221
Raised by DBMS_LDAP.open_ssl if the wallet password given is NULL.
invalid_ssl_auth_mode
31222
Raised by DBMS_LDAP.open_ssl if the SSL authentication mode is not 1, 2 or 3.

9.3 Data Type Summary

The DBMS_LDAP package uses the data types described in Table 9-3.

Table 9-3 DBMS_LDAP Data Type Summary

Data-Type Purpose
SESSION
Used to hold the handle of the LDAP session. Nearly all of the functions in the API require a valid LDAP session to work.
MESSAGE
Used to hold a handle to the message retrieved from the result set. This is used by all functions that work with entry attributes and values.
MOD_ARRAY
Used to hold a handle to the array of modifications being passed to either modify_s() or add_s().
TIMEVAL
Used to pass time limit information to the LDAP API functions that require a time limit.
BER_ELEMENT
Used to hold a handle to a BER structure used for decoding incoming messages.
STRING_COLLECTION
Used to hold a list of VARCHAR2 strings that can be passed on to the LDAP server.
BINVAL_COLLECTION
Used to hold a list of RAW data, which represent binary data.
BERVAL_COLLECTION
Used to hold a list of BERVAL values that are used for populating a modification array.
BLOB_COLLECTION
Used to hold a list of BLOB data, which represent binary data.

9.4 Subprograms

This section takes a closer look at each of the DBMS_LDAP subprograms.

9.4.1 FUNCTION init

init() initializes a session with an LDAP server. This actually establishes a connection with the LDAP server.

Syntax

FUNCTION init      
(
hostname IN VARCHAR2,
portnum  IN PLS_INTEGER
)
RETURN SESSION;

Parameters

Table 9-4 INIT Function Parameters

Parameter Description
hostname
Contains a space-separated list of host names or dotted strings representing the IP address of hosts running an LDAP server to connect to. Each host name in the list may include a port number, which is separated from the host by a colon. The hosts are tried in the order listed, stopping with the first one to which a successful connection is made.
portnum
Contains the TCP port number to connect to. If the port number is included with the host name, this parameter is ignored. If the parameter is not specified, and the host name does not contain the port number, a default port number of 389 is assumed.

Return Values

Table 9-5 INIT Function Return Values

Value Description
SESSION
A handle to an LDAP session that can be used for further calls to the API.

Exceptions

Table 9-6 INIT Function Exceptions

Exception Description
init_failed
Raised when there is a problem contacting the LDAP server.
general_error
For all other errors. The error string associated with the exception describes the error in detail.

Usage Notes

DBMS_LDAP.init() is the first function that should be called because it establishes a session with the LDAP server. Function DBMS_LDAP.init() returns a session handle, a pointer to an opaque structure that must be passed to subsequent calls pertaining to the session. This routine will return NULL and raise the INIT_FAILED exception if the session cannot be initialized. After init() has been called, the connection has to be authenticated using DBMS_LDAP.bind_s or DBMS_LDAP.simple_bind_s().

See Also

DBMS_LDAP.simple_bind_s(), DBMS_LDAP.bind_s().

9.4.2 FUNCTION simple_bind_s

The function simple_bind_s can be used to perform simple user name and password authentication to the directory server.

Syntax

FUNCTION simple_bind_s 
(
ld     IN SESSION,
dn     IN VARCHAR2,
passwd IN VARCHAR2
)
RETURN PLS_INTEGER;

Parameters

Table 9-7 SIMPLE_BIND_S Function Parameters

Parameter Description
ld
A valid LDAP session handle.
dn
The Distinguished Name of the User that we are trying to login as.
passwd
A text string containing the password.

Return Values

Table 9-8 SIMPLE_BIND_S Function Return Values

Value Description
PLS_INTEGER
DBMS_LDAP.SUCCESS on a successful completion. If there was a problem, one of the following exceptions will be raised.

Exceptions

Table 9-9 SIMPLE_BIND_S Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

DBMS_LDAP.simple_bind_s() can be used to authenticate a user whose directory distinguished name and directory password are known. It can be called only after a valid LDAP session handle is obtained from a call to DBMS_LDAP.init().

9.4.3 FUNCTION bind_s

The function bind_s can be used to perform complex authentication to the directory server.

Syntax

FUNCTION  bind_s 
(
ld     IN SESSION,
dn     IN VARCHAR2,
cred IN VARCHAR2,
meth IN PLS_INTEGER
)
RETURN PLS_INTEGER;

Parameters

Table 9-10 BIND_S Function Parameters

Parameter Description
ld
A valid LDAP session handle.
dn
The distinguished name of the user.
cred
A text string containing the credentials used for authentication.
meth
The authentication method.

Return Values

Table 9-11 BIND_S Function Return Values

Value Description
PLS_INTEGER
DBMS_LDAP.SUCCESS upon successful completion. One of the following exceptions is raised if there is a problem.

Exceptions

Table 9-12 BIND_S Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_auth_method
Raised if the authentication method requested is not supported.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

DBMS_LDAP.bind_s() can be used to authenticate a user. It can be called only after a valid LDAP session handle is obtained from a call to DBMS_LDAP.init().

See Also

DBMS_LDAP.init(), DBMS_LDAP.simple_bind_s().

9.4.4 FUNCTION unbind_s

The function unbind_s is used for closing an active LDAP session.

Syntax

FUNCTION unbind_s 
(
ld IN OUT SESSION 
)  
RETURN PLS_INTEGER;

Parameters

Table 9-13 UNBIND_S Function Parameters

Parameter Description
ld
A valid LDAP session handle.

Return Values

Table 9-14 UNBIND_S Function Return Values

Value Description
PLS_INTEGER
DBMS_LDAP.SUCCESS on proper completion. One of the following exceptions is raised otherwise.

Exceptions

Table 9-15 UNBIND_S Function Exceptions

Exception Description
invalid_session
Raised if the sessions handle ld is invalid.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

The unbind_s() function sends an unbind request to the server, closes all open connections associated with the LDAP session, and disposes of all resources associated with the session handle before returning. After a call to this function, the session handle ld is invalid.

See Also

DBMS_LDAP.bind_s(), DBMS_LDAP.simple_bind_s().

9.4.5 FUNCTION compare_s

The function compare_s can be used to test if a particular attribute in a particular entry has a particular value.

Syntax

FUNCTION compare_s 
(
ld    IN SESSION,
dn    IN VARCHAR2,
attr  IN VARCHAR2,
value IN VARCHAR2
)
RETURN PLS_INTEGER;

Parameters

Table 9-16 COMPARE_S Function Parameters

Parameter Description
ld
A valid LDAP session handle.
dn
The name of the entry to compare against.
attr
The attribute to compare against.
value
A string attribute value to compare against.

Return Values

Table 9-17 COMPARE_S Function Return Values

Value Description
PLS_INTEGER
COMPARE_TRUE if the given attribute has a matching value.

COMPARE_FALSE if the given attribute does not have a matching value.


Exceptions

Table 9-18 COMPARE_S Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

The function compare_s can be used to assert that an attribute in the directory has a certain value. This operation can be performed only on attributes whose syntax enables them to be compared. The compare_s function can be called only after a valid LDAP session handle has been obtained from the init() function and authenticated by the bind_s() or simple_bind_s() functions.

See Also

DBMS_LDAP.bind_s()

9.4.6 FUNCTION search_s

The function search_s performs a synchronous search in the directory. It returns control to the PL/SQL environment only after all of the search results have been sent by the server or if the search request is timed out by the server.

Syntax

FUNCTION search_s  
(
ld       IN  SESSION,
base     IN  VARCHAR2,
scope    IN  PLS_INTEGER,
filter   IN  VARCHAR2,
attrs    IN  STRING_COLLECTION,
attronly IN  PLS_INTEGER,
res      OUT MESSAGE
)
RETURN PLS_INTEGER;

Parameters

Table 9-19 SEARCH_S Function Parameters

Parameter Description
ld
A valid LDAP session handle.
base
The DN of the entry at which to start the search.
scope
One of SCOPE_BASE (0x00), SCOPE_ONELEVEL (0x01), or SCOPE_SUBTREE (0x02), indicating the scope of the search.
filter
A character string representing the search filter. The value NULL can be passed to indicate that the filter "(objectclass=*)", which matches all entries, is to be used.
attrs
A collection of strings indicating which attributes to return for each matching entry. Passing NULL for this parameter causes all available user attributes to be retrieved. The special constant string NO_ATTRS ("1.1") may be used as the only string in the array to indicate that no attribute types are to be returned by the server. The special constant string ALL_USER_ATTRS ("*") can be used in the attrs array along with the names of some operational attributes to indicate that all user attributes plus the listed operational attributes are to be returned.
attrsonly
A boolean value that must be zero if both attribute types and values are to be returned, and nonzero if only types are wanted.
res
This is a result parameter that contains the results of the search upon completion of the call. If no results are returned, *res is set to NULL.

Return Values

Table 9-20 SEARCH_S Function Return Value

Value Description
PLS_INTEGER
DBMS_LDAP.SUCCESS if the search operation succeeded. An exception is raised in all other cases.
res
If the search succeeded and there are entries, this parameter is set to a non-null value which can be used to iterate through the result set.

Exceptions

Table 9-21 SEARCH_S Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_search_scope
Raised if the search scope is not one of SCOPE_BASE, SCOPE_ONELEVEL, or SCOPE_SUBTREE.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

The function search_s() issues a search operation and does not return control to the user environment until all of the results have been returned from the server. Entries returned from the search, if any, are contained in the res parameter. This parameter is opaque to the caller. Entries, attributes, and values can be extracted by calling the parsing routines described in this chapter.

See Also

DBMS_LDAP.search_st(), DBMS_LDAP.first_entry(), DBMS_LDAP.next_entry.

9.4.7 FUNCTION search_st

The function search_st() performs a synchronous search in the LDAP server with a client-side time out. It returns control to the PL/SQL environment only after all of the search results have been sent by the server or if the search request is timed out by the client or the server.

Syntax

FUNCTION search_st  
(
ld       IN  SESSION,
base     IN  VARCHAR2,
scope    IN  PLS_INTEGER,
filter   IN  VARCHAR2,
attrs    IN  STRING_COLLECTION,
attronly IN  PLS_INTEGER,
tv       IN  TIMEVAL,
res      OUT MESSAGE
)
RETURN PLS_INTEGER;

Parameters

Table 9-22 SEARCH_ST Function Parameters

Parameter Description
ld
A valid LDAP session handle.
base
The DN of the entry at which to start the search.
scope
One of SCOPE_BASE (0x00), SCOPE_ONELEVEL (0x01), or SCOPE_SUBTREE (0x02), indicating the scope of the search.
filter
A character string representing the search filter. The value NULL can be passed to indicate that the filter "(objectclass=*)", which matches all entries, is to be used.
attrs
A collection of strings indicating which attributes to return for each matching entry. Passing NULL for this parameter causes all available user attributes to be retrieved. The special constant string NO_ATTRS ("1.1") may be used as the only string in the array to indicate that no attribute types are to be returned by the server. The special constant string ALL_USER_ATTRS ("*") can be used in the attrs array along with the names of some operational attributes to indicate that all user attributes plus the listed operational attributes are to be returned.
attrsonly
A boolean value that must be zero if both attribute types and values are to be returned, and nonzero if only types are wanted.
tv
The time out value, expressed in seconds and microseconds, that should be used for this search.
res
This is a result parameter which will contain the results of the search upon completion of the call. If no results are returned, *res is set to NULL.

Return Values

Table 9-23 SEARCH_ST Function Return Values

Value Description
PLS_INTEGER
DBMS_LDAP.SUCCESS if the search operation succeeded. An exception is raised in all other cases.
res
If the search succeeded and there are entries, this parameter is set to a non-null value which can be used to iterate through the result set.

Exceptions

Table 9-24 SEARCH_ST Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_search_scope
Raised if the search scope is not one of SCOPE_BASE, SCOPE_ONELEVEL or SCOPE_SUBTREE.
invalid_search_time_value
Raised if the time value specified for the time out is invalid.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

This function is very similar to DBMS_LDAP.search_s() except that it requires a time out value to be given.

See Also

DBMS_LDAP.search_s(), DBML_LDAP.first_entry(), DBMS_LDAP.next_entry.

9.4.8 FUNCTION first_entry

The function first_entry() is used to retrieve the first entry in the result set returned by either search_s() or search_st().

Syntax

FUNCTION first_entry 
(
ld  IN SESSION,
msg IN MESSAGE 
)
RETURN MESSAGE;

Parameters

Table 9-25 FIRST_ENTRY Function Parameters

Parameter Description
ld
A valid LDAP session handle.
msg
The search result, as obtained by a call to one of the synchronous search routines.

Return Values

Table 9-26 FIRST_ENTRY Return Values

Value Description
MESSAGE
A handle to the first entry in the list of entries returned from the LDAP server. It is set to NULL if there was an error and an exception is raised.

Exceptions

Table 9-27 FIRST_ENTRY Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_message
Raised if the incoming msg handle is invalid.

Usage Notes

The function first_entry() should always be the first function used to retrieve the results from a search operation.

See Also

DBMS_LDAP.next_entry(), DBMS_LDAP.search_s(), DBMS_LDAP.search_st()

9.4.9 FUNCTION next_entry

The function next_entry() is used to iterate to the next entry in the result set of a search operation.

Syntax

FUNCTION next_entry 
(
ld  IN SESSION,
msg IN MESSAGE 
)
RETURN MESSAGE;

Parameters

Table 9-28 NEXT_ENTRY Function Parameters

Parameter Description
ld
A valid LDAP session handle.
msg
The search result, as obtained by a call to one of the synchronous search routines.

Return Values

Table 9-29 NEXT_ENTRY Function Return Values

Value Description
MESSAGE
A handle to the next entry in the list of entries returned from the LDAP server. It is set to null if there was an error and an exception is raised.

Exceptions

Table 9-30 NEXT_ENTRY Function Exceptions

Exception Description
invalid_session
Raised if the session handle, ld is invalid.
invalid_message
Raised if the incoming msg handle is invalid.

Usage Notes

The function next_entry() should always be called after a call to the function first_entry(). Also, the return value of a successful call to next_entry() should be used as msg argument used in a subsequent call to the function next_entry() to fetch the next entry in the list.

See Also

DBMS_LDAP.first_entry(), DBMS_LDAP.search_s(), DBMS_LDAP.search_st()

9.4.10 FUNCTION count_entries

This function is used to count the number of entries in the result set. It can also be used to count the number of entries remaining during a traversal of the result set using a combination of the functions first_entry() and next_entry().

Syntax

FUNCTION count_entries 
(
ld  IN SESSION,
msg IN MESSAGE 
)
RETURN PLS_INTEGER;

Parameters

Table 9-31 COUNT_ENTRY Function Parameters

Parameter Description
ld
A valid LDAP session handle.
msg
The search result, as obtained by a call to one of the synchronous search routines.

Return Values

Table 9-32 COUNT_ENTRY Function Return Values

Value Description
PLS_INTEGER
Nonzero if there are entries in the result set. -1 if there was a problem.

Exceptions

Table 9-33 COUNT_ENTRY Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_message
Raised if the incoming msg handle is invalid.
count_entry_error
Raised if there was a problem in counting the entries.

Usage Notes

count_entries() returns the number of entries contained in a chain of entries; if an error occurs such as the res parameter being invalid, -1 is returned. The count_entries() call can also be used to count the number of entries that remain in a chain if called with a message, entry, or reference returned by first_message(), next_message(), first_entry(), next_entry(), first_reference(), next_reference().

See Also

DBMS_LDAP.first_entry(), DBMS_LDAP.next_entry().

9.4.11 FUNCTION first_attribute

The function first_attribute() fetches the first attribute of a given entry in the result set.

Syntax

FUNCTION first_attribute     
(
ld          IN  SESSION,
ldapentry   IN  MESSAGE,
ber_elem    OUT BER_ELEMENT
)
RETURN VARCHAR2;

Parameters

Table 9-34 FIRST_ATTRIBUTE Function Parameters

Parameter Description
ld
A valid LDAP session handle.
ldapentry
The entry whose attributes are to be stepped through, as returned by first_entry() or next_entry().
ber_elem
A handle to a BER_ELEMENT that is used to keep track of attributes in the entry that have already been read.

Return Values

Table 9-35 FIRST_ATTRIBUTE Function Return Values

Value Description
VARCHAR2
The name of the attribute if it exists.

NULL if no attribute exists or if an error occurred.

ber_elem
A handle used by DBMS_LDAP.next_attribute() to iterate over all of the attributes

Exceptions

Table 9-36 FIRST_ATTRIBUTE Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_message
Raised if the incoming msg handle is invalid.

Usage Notes

The handle to the BER_ELEMENT returned as a function parameter to first_attribute() should be used in the next call to next_attribute() to iterate through the various attributes of an entry. The name of the attribute returned from a call to first_attribute() can in turn be used in calls to the functions get_values() or get_values_len() to get the values of that particular attribute.

See Also

DBMS_LDAP.next_attribute(), DBMS_LDAP.get_values(), DBMS_LDAP.get_values_len(), DBMS_LDAP.first_entry(), DBMS_LDAP.next_entry().

9.4.12 FUNCTION next_attribute

The function next_attribute() retrieves the next attribute of a given entry in the result set.

Syntax

FUNCTION next_attribute 
(    
ld       IN SESSION,
ldapentry      IN MESSAGE,
ber_elem IN BER_ELEMENT
)
RETURN VARCHAR2;

Parameters

Table 9-37 NEXT_ATTRIBUTE Function Parameters

Parameter Description
ld
A valid LDAP session handle.
ldapentry
The entry whose attributes are to be stepped through, as returned by first_entry() or next_entry().
ber_elem
A handle to a BER_ELEMENT that is used to keep track of attributes in the entry that have been read.

Return Values

Table 9-38 NEXT_ATTRIBUTE Function Return Values

Value Description
VARCHAR2
(function return)
The name of the attribute if it exists.

Exceptions

Table 9-39 NEXT_ATTRIBUTE Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_message
Raised if the incoming msg handle is invalid.

Usage Notes

The handle to the BER_ELEMENT returned as a function parameter to first_attribute() should be used in the next call to next_attribute() to iterate through the various attributes of an entry. The name of the attribute returned from a call to next_attribute() can in turn be used in calls to the functions get_values() or get_values_len() to get the values of that particular attribute.

See Also

DBMS_LDAP.first_attribute(), DBMS_LDAP.get_values(), DBMS_LDAP.get_values_len(), DBMS_LDAP.first_entry(), DBMS_LDAP.next_entry().

9.4.13 FUNCTION get_dn

The function get_dn() retrieves the X.500 distinguished name of given entry in the result set.

Syntax

FUNCTION get_dn
(
ld  IN SESSION,
ldapentrymsg IN MESSAGE
)
RETURN VARCHAR2;

Parameters

Table 9-40 GET_DN Function Parameters

Parameter Description
ld
A valid LDAP session handle.
ldapentry
The entry whose DN is to be returned.

Return Values

Table 9-41 GET_DN Function Return Values

Value Description
VARCHAR2
The X.500 Distinguished name of the entry as a PL/SQL string.

NULL if there was a problem.


Exceptions

Table 9-42 GET_DN Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_message
Raised if the incoming msg handle is invalid.
get_dn_error
Raised if there was a problem in determining the DN.

Usage Notes

The function get_dn() can be used to retrieve the DN of an entry as the program logic is iterating through the result set. This can in turn be used as an input to explode_dn() to retrieve the individual components of the DN.

See Also

DBMS_LDAP.explode_dn().

9.4.14 FUNCTION get_values

The function get_values() can be used to retrieve all of the values associated with a given attribute in a given entry.

Syntax

FUNCTION get_values
(    
ld   IN SESSION,
ldapentry IN MESSAGE,
attr IN VARCHAR2
)
RETURN STRING_COLLECTION;

Parameters


Table 9-43 GET_VALUES Function Parameters

Parameter Description
ld
A valid LDAP session handle.
ldapentry
A valid handle to an entry returned from a search result.
attr
The name of the attribute for which values are being sought.

Return Values

Table 9-44 GET_VALUES Function Return Values

Value Description
STRING_COLLECTION
A PL/SQL string collection containing all of the values of the given attribute.

NULL if there are no values associated with the given attribute.


Exceptions

Table 9-45 GET_VALUES Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_message
Raised if the incoming entry handle is invalid.

Usage Notes

The function get_values() can only be called after the handle to entry has been first retrieved by call to either first_entry() or next_entry(). The name of the attribute may be known beforehand or can be determined by a call to first_attribute() or next_attribute().The function get_values() always assumes that the data type of the attribute it is retrieving is a string. For retrieving binary data types, get_values_len() should be used.

See Also

DBMS_LDAP.first_entry(), DBMS_LDAP.next_entry(), DBMS_LDAP.count_values(), DBMS_LDAP.get_values_len().

9.4.15 FUNCTION get_values_len

The function get_values_len() can be used to retrieve values of attributes that have a binary syntax.

Syntax

FUNCTION get_values_len
(
ld   IN SESSION,
ldapentry IN MESSAGE,
attr IN VARCHAR2
)
RETURN BINVAL_COLLECTION;

Parameters

Table 9-46 GET_VALUES_LEN Function Parameters

Parameter Description
ld
A valid LDAP session handle.
ldapentrymsg
A valid handle to an entry returned from a search result.
attr
The string name of the attribute for which values are being sought.

Return Values

Table 9-47 GET_VALUES_LEN Function Return Values

Value Description
BINVAL_COLLECTION
A PL/SQL 'Raw' collection containing all the values of the given attribute.

NULL if there are no values associated with the given attribute.


Exceptions

Table 9-48 GET_VALUES_LEN Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_message
Raised if the incoming entry handle is invalid.

Usage Notes

The function get_values_len() can only be called after the handle to an entry has been retrieved by a call to either first_entry() or next_entry().The name of the attribute may be known beforehand or can also be determined by a call to first_attribute() or next_attribute().This function can be used to retrieve both binary and non-binary attribute values.

See Also

DBMS_LDAP.first_entry(), DBMS_LDAP.next_entry(), DBMS_LDAP.count_values_len(), DBMS_LDAP.get_values().

9.4.16 FUNCTION delete_s

The function delete_s() can be used to remove a leaf entry in the DIT.

Syntax

FUNCTION delete_s
(
ld      IN SESSION,
entrydn IN VARCHAR2
)
RETURN PLS_INTEGER;

Parameters

Table 9-49 DELETE_S Function Parameters

Parameter Name Description
ld
A valid LDAP session.
entrydn
The X.500 distinguished name of the entry to delete.

Return Values

Table 9-50 DELETE_S Function Return Values

Value Description
PLS_INTEGER
DBMS_LDAP.SUCCESS if the delete operation was successful. An exception is raised otherwise.

Exceptions

Table 9-51 DELETE_S Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_entry_dn
Raised if the distinguished name of the entry is invalid.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

The function delete_s() can be used to remove only leaf entries in the DIT. A leaf entry is an entry that does not have any entries under it. This function cannot be used to delete non-leaf entries.

See Also

DBMS_LDAP.modrdn2_s().

9.4.17 FUNCTION modrdn2_s

The function modrdn2_s() can be used to rename the relative distinguished name of an entry.

Syntax

FUNCTION modrdn2_s 
(
ld IN SESSION,
entrydn in VARCHAR2
newrdn in VARCHAR2
deleteoldrdn IN PLS_INTEGER
)
RETURN PLS_INTEGER;

Parameters

Table 9-52 MODRDN2_S Function Parameters

Parameter Description
ld
A valid LDAP session handle.
entrydn
The distinguished name of the entry (This entry must be a leaf node in the DIT.).
newrdn
The new relative distinguished name of the entry.
deleteoldrdn
A boolean value that, if nonzero, indicates that the attribute values from the old name should be removed from the entry.

Return Values

Table 9-53 MODRDN2_S Function Return Values

Value Description
PLS_INTEGER
DBMS_LDAP.SUCCESS if the operation was successful. An exception is raised otherwise.

Exceptions

Table 9-54 MODRDN2_S Function Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid_entry_dn
Raised if the distinguished name of the entry is invalid.
invalid_rdn
Invalid LDAP RDN.
invalid_deleteoldrdn
Invalid LDAP deleteoldrdn.
general_error
For all other errors. The error string associated with this exception will explain the error in detail.

Usage Notes

The function nodrdn2_s() can be used to rename the leaf nodes of a DIT. It simply changes the relative distinguished name by which they are known. The use of this function is being deprecated in the LDAP v3 standard. Please use rename_s(), which fulfills the same purpose.

See Also

DBMS_LDAP.rename_s().

9.4.18 FUNCTION err2string

The function err2string() can be used to convert an LDAP error code to a string in the local language in which the API is operating.

Syntax

FUNCTION err2string
( 
ldap_err IN PLS_INTEGER 
)
RETURN VARCHAR2;

Parameters

Table 9-55 ERR2STRING Function Parameters

Parameter Description
ldap_err
An error number returned from one of the API calls.

Return Values

Table 9-56 ERR2STRING Function Return Values

Value Description
VARCHAR2
A character string translated to the local language. The string describes the error in detail.

Exceptions

err2string() raises no exceptions.

Usage Notes

In this release, the exception handling mechanism automatically invokes this function if any of the API calls encounter an error.

9.4.19 FUNCTION create_mod_array

The function create_mod_array() allocates memory for array modification entries that are applied to an entry using the modify_s() or add_s() functions.

Syntax

FUNCTION create_mod_array 
(
num IN PLS_INTEGER
)
RETURN MOD_ARRAY;

Parameters

Table 9-57 CREATE_MOD_ARRAY Function Parameters

Parameter Description
num
The number of the attributes that you want to add or modify.

Return Values

Table 9-58 CREATE_MOD_ARRAY Function Return Values

Value Description
MOD_ARRAY
The data structure holds a pointer to an LDAP mod array.

Returns NULL if there was a problem.


Exceptions

create_mod_array() raises no exceptions.

Usage Notes

This function is one of the preparation steps for DBMS_LDAP.add_s and DBMS_LDAP.modify_s. It calls DBMS_LDAP.free_mod_array to free memory after the calls to add_s or modify_s have completed.

See Also

DBMS_LDAP.populate_mod_array(), DBMS_LDAP.modify_s(), DBMS_LDAP.add_s(), and DBMS_LDAP.free_mod_array().

9.4.20 PROCEDURE populate_mod_array (String Version)

Populates one set of attribute information for add or modify operations.

Syntax

PROCEDURE populate_mod_array
(
modptr   IN DBMS_LDAP.MOD_ARRAY,
mod_op   IN PLS_INTEGER,
mod_type IN VARCHAR2,
modval   IN DBMS_LDAP.STRING_COLLECTION
);

Parameters

Table 9-59 POPULATE_MOD_ARRAY (String Version) Procedure Parameters

Parameter Description
modptr
The data structure holds a pointer to an LDAP mod array.
mod_op
This field specifies the type of modification to perform.
mod_type
This field indicates the name of the attribute type to which the modification applies.
modval
This field specifies the attribute values to add, delete, or replace. It is for string values only.

Exceptions

Table 9-60 POPULATE_MOD_ARRAY (String Version) Procedure Exceptions

Exception Description
invalid_mod_array
Invalid LDAP mod array
invalid_mod_option
Invalid LDAP mod option
invalid_mod_type
Invalid LDAP mod type
invalid_mod_value
Invalid LDAP mod value

Usage Notes

This function is one of the preparation steps for DBMS_LDAP.add_s and DBMS_LDAP.modify_s. It has to happen after DBMS_LDAP.create_mod_array is called.

See Also

DBMS_LDAP.create_mod_array(), DBMS_LDAP.modify_s(), DBMS_LDAP.add_s(), and DBMS_LDAP.free_mod_array().

9.4.21 PROCEDURE populate_mod_array (Binary Version)

Populates one set of attribute information for add or modify operations. This procedure call occurs after DBMS_LDAP.create_mod_array() is called.

Syntax

PROCEDURE populate_mod_array
(
modptr   IN DBMS_LDAP.MOD_ARRAY,
mod_op   IN PLS_INTEGER,
mod_type IN VARCHAR2,
modbval  IN DBMS_LDAP.BERVAL_COLLECTION
);

Parameters

Table 9-61 POPULATE_MOD_ARRAY (Binary Version) Procedure Parameters

Parameter Description
modptr
This data structure holds a pointer to an LDAP mod array.
mod_op
This field specifies the type of modification to perform.
mod_type
This field indicates the name of the attribute type to which the modification applies.
modbval
This field specifies the attribute values to add, delete, or replace. It is for the binary values.

Exceptions

Table 9-62 POPULATE_MOD_ARRAY (Binary Version) Procedure Exceptions

Exception Description
invalid_mod_array
Invalid LDAP mod array.
invalid_mod_option
Invalid LDAP mod option.
invalid_mod_type
Invalid LDAP mod type.
invalid_mod_value
Invalid LDAP mod value.

Usage Notes

This function is one of the preparation steps for DBMS_LDAP.add_s and DBMS_LDAP.modify_s. It is invoked after DBMS_LDAP.create_mod_array is called.

See Also

DBMS_LDAP.create_mod_array(), DBMS_LDAP.modify_s(), DBMS_LDAP.add_s(), and DBMS_LDAP.free_mod_array().

9.4.22 PROCEDURE populate_mod_array (Binary Version. Uses BLOB Data Type)

Populates one set of attribute information for add or modify operations. This procedure call occurs after DBMS_LDAP.create_mod_array() is called.

Syntax

PROCEDURE populate_mod_array
(
modptr IN DBMS_LDAP.MOD_ARRAY,
mod_op IN PLS_INTEGER,
mod_type IN VARCHAR2,
modbval IN DBMS_LDAP.BLOB_COLLECTION
);

Parameters

Table 9-63 POPULATE_MOD_ARRAY (Binary) Parameters

Parameter Description
modptr
This data structure holds a pointer to an LDAP mod array.
mod_op
This field specifies the type of modification to perform.
mod_type
This field indicates the name of the attribute type to which the modification applies.
modbval
This field specifies the binary attribute values to add, delete, or replace.

Exceptions

Table 9-64 POPULATE_MOD_ARRAY (Binary) Exceptions

Exception Description
invalid_mod_array
Invalid LDAP mod array.
invalid_mod_option
Invalid LDAP mod option.
invalid_mod_type
Invalid LDAP mod type.
invalid_mod_value
Invalid LDAP mod value.

Usage Notes

This function is one of the preparation steps for DBMS_LDAP.add_s and DBMS_LDAP.modify_s. It is invoked after DBMS_LDAP.create_mod_array is called.

See Also

DBMS_LDAP.create_mod_array(), DBMS_LDAP.modify_s(), DBMS_LDAP.add_s(), and DBMS_LDAP.free_mod_array().

9.4.23 FUNCTION get_values_blob

The function get_values_blob() can be used to retrieve larger values of attributes that have a binary syntax.

Syntax

Syntax
FUNCTION get_values_blob
(
ld IN SESSION,
ldapentry IN MESSAGE,
attr IN VARCHAR2
)
RETURN BLOB_COLLECTION;

Parameters

Table 9-65 GET_VALUES_BLOB Parameters

Parameter Description
ld
A valid LDAP session handle.
ldapentrymsg
A valid handle to an entry returned from a search result.
attr
The string name of the attribute for which values are being sought.

Return Values

Table 9-66 get_values_blob Return Values

Value Description
BLOB_COLLECTION
A PL/SQL BLOB collection containing all the values of the given attribute.
NULL
No values are associated with the given attribute.

Exceptions

Table 9-67 get_values_blob Exceptions

Exception Description
invalid_session
Raised if the session handle ld is invalid.
invalid message
Raised if the incoming entry handle is invalid.

Usage Notes

The function get_values_blob() can only be called after the handle to an entry has been retrieved by a call to either first_entry() or next_entry(). The name of the attribute may be known beforehand or can also be determined by a call to first_attribute() or next_attribute(). This function can be used to retrieve both binary and nonbinary attribute values.

See Also

DBMS_LDAP.first_entry(), DBMS_LDAP.next_entry(), DBMS_LDAP.count_values_blob(), DBMS_LDAP.get_values().

9.4.24 FUNCTION count_values_blob

Counts the number of values returned by DBMS_LDAP.get_values_blob().

Syntax

FUNCTION count_values_blob
(
values IN DBMS_LDAP.BLOB_COLLECTION
)
RETURN PLS_INTEGER;

Parameters

Table 9-68 COUNT_VALUES_BLOB Parameters

Parameter Description
values
The collection of large binary values.

Return Values

Table 9-69 COUNT_VALUES_BLOB Return Values

Values Description
PLS_INTEGER
Indicates the success or failure of the operation.

Exceptions

The function count_values_blob() raises no exceptions.

See Also

DBMS_LDAP.count_values(), DBMS_LDAP.get_values_blob().

9.4.25 FUNCTION value_free_blob

Frees the memory associated with BLOB_COLLECTION returned by DBMS_LDAP.get_values_blob().

Syntax

PROCEDURE value_free_blob
(
vals IN OUT DBMS_LDAP.BLOB_COLLECTION
);

Parameters

Table 9-70 VALUE_FREE_BLOB Parameters

Parameter Description
vals
The collection of large binary values returned by DBMS_LDAP.get_values_blob().

Exceptions

value_free_blob() raises no exceptions.

See Also

DBMS_LDAP.get_values_blob().

9.4.26 FUNCTION modify_s

Performs a synchronous modification of an existing LDAP directory entry.

Syntax

FUNCTION modify_s
(
ld      IN DBMS_LDAP.SESSION,
entrydn IN VARCHAR2,
modptr  IN DBMS_LDAP.MOD_ARRAY
)
RETURN PLS_INTEGER;

Parameters

Table 9-71 MODIFY_S Function Parameters

Parameter Description
ld
This parameter is a handle to an LDAP session returned by a successful call to DBMS_LDAP.init().
entrydn
This parameter specifies the name of the directory entry whose contents are to be modified.
modptr
This parameter is the handle to an LDAP mod structure, as returned by successful call to DBMS_LDAP.create_mod_array().

Return Values

Table 9-72 MODIFY_S Function Return Values

Value Description
PLS_INTEGER
Indicates the success or failure of the modification operation.

Exceptions

Table 9-73 MODIFY_S Function Exceptions

Exception Description
invalid_session
Invalid LDAP session.
invalid_entry_dn
Invalid LDAP entry dn.
invalid_mod_array
Invalid LDAP mod array.

Usage Notes

This function call has to follow successful calls of DBMS_LDAP.create_mod_array() and DBMS_LDAP.populate_mod_array().

See Also

DBMS_LDAP.create_mod_array(),DBMS_LDAP.populate_mod_array(), DBMS_LDAP.add_s(), and DBMS_LDAP.free_mod_array().

9.4.27 FUNCTION add_s

Adds a new entry to the LDAP directory synchronously. Before calling add_s, DBMS_LDAP.create_mod_array() and DBMS_LDAP.populate_mod_array() must be called.

Syntax

FUNCTION add_s
(
ld      IN DBMS_LDAP.SESSION,
entrydn IN VARCHAR2,
modptr  IN DBMS_LDAP.MOD_ARRAY
)
RETURN PLS_INTEGER;

Parameters

Table 9-74 ADD_S Function Parameters

Parameter Description
ld
This parameter is a handle to an LDAP session, as returned by a successful call to DBMS_LDAP.init().
entrydn
This parameter specifies the name of the directory entry to be created.
modptr
This parameter is the handle to an LDAP mod structure, as returned by successful call to DBMS_LDAP.create_mod_array().

Return Values

Table 9-75 ADD_S Function Return Values

Value Description
PLS_INTEGER
Indicates the success or failure of the modification operation.

Exceptions

Table 9-76 ADD_S Function Exceptions

Exception Description
invalid_session
Invalid LDAP session.
invalid_entry_dn
Invalid LDAP entry dn.
invalid_mod_array
Invalid LDAP mod array.

Usage Notes

The parent entry of the entry to be added must already exist in the directory. This function call has to follow successful calls to DBMS_LDAP.create_mod_array() and DBMS_LDAP.populate_mod_array().

See Also

DBMS_LDAP.create_mod_array(), DBMS_LDAP.populate_mod_array(), DBMS_LDAP.modify_s(), and DBMS_LDAP.free_mod_array().

9.4.28 PROCEDURE free_mod_array

Frees the memory allocated by DBMS_LDAP.create_mod_array().

Syntax

PROCEDURE free_mod_array
(
modptr IN DBMS_LDAP.MOD_ARRAY
);

Parameters

Table 9-77 FREE_MOD_ARRAY Procedure Parameters

Parameter Description
modptr
This parameter is the handle to an LDAP mod structure returned by a successful call to DBMS_LDAP.create_mod_array().

Exceptions

free_mod_array raises no exceptions.

See Also

DBMS_LDAP.populate_mod_array(), DBMS_LDAP.modify_s(), DBMS_LDAP.add_s(), and DBMS_LDAP.create_mod_array().

9.4.29 FUNCTION count_values

Counts the number of values returned by DBMS_LDAP.get_values().

Syntax

FUNCTION count_values
(
values IN DBMS_LDAP.STRING_COLLECTION
)
RETURN PLS_INTEGER;

Parameters

Table 9-78 COUNT_VALUES Function Parameters

Parameter Description
values
The collection of string values.

Return Values

Table 9-79 COUNT_VALUES Function Return Values

Value Description
PLS_INTEGER
Indicates the success or failure of the operation.

Exceptions

count_values raises no exceptions.

See Also

DBMS_LDAP.count_values_len(), DBMS_LDAP.get_values().

9.4.30 FUNCTION count_values_len

Counts the number of values returned by DBMS_LDAP.get_values_len().

Syntax

FUNCTION count_values_len 
(
values IN DBMS_LDAP.BINVAL_COLLECTION
)
RETURN PLS_INTEGER;

Parameters

Table 9-80 COUNT_VALUES_LEN Function Parameters

Parameter Description
values
The collection of binary values.

Return Values

Table 9-81 COUNT_VALUES_LEN Function Return Values

Value Description
PLS_INTEGER
Indicates the success or failure of the operation.

Exceptions

count_values_len raises no exceptions.

See Also

DBMS_LDAP.count_values(), DBMS_LDAP.get_values_len().

9.4.31 FUNCTION rename_s

Renames an LDAP entry synchronously.

Syntax

FUNCTION rename_s
(
ld           IN SESSION,
dn           IN VARCHAR2,
newrdn       IN VARCHAR2,
newparent    IN VARCHAR2,
deleteoldrdn IN PLS_INTEGER,
serverctrls  IN LDAPCONTROL,
clientctrls  IN LDAPCONTROL
)
RETURN PLS_INTEGER;

Parameters

Table 9-82 RENAME_S Function Parameters

Parameter Description
ld
This parameter is a handle to an LDAP session returned by a successful call to DBMS_LDAP.init().
dn
This parameter specifies the name of the directory entry to be renamed or moved.
newrdn
This parameter specifies the new RDN.
newparent
This parameter specifies the DN of the new parent.
deleteoldrdn
This parameter specifies whether the old RDN should be retained. If this value is 1, the old RDN is removed.
serverctrls
Currently not supported.
clientctrls
Currently not supported.

Return Values

Table 9-83 RENAME_S Function Return Values

Value Description
PLS_INTEGER
The indication of the success or failure of the operation.

Exceptions

Table 9-84 RENAME_S Function Exceptions

Exception Description
invalid_session
Invalid LDAP Session.
invalid_entry_dn
Invalid LDAP DN.
invalid_rdn
Invalid LDAP RDN.
invalid_newparent
Invalid LDAP newparent.
invalid_deleteoldrdn
Invalid LDAP deleteoldrdn.

See Also

DBMS_LDAP.modrdn2_s().

9.4.32 FUNCTION explode_dn

Breaks a DN up into its components.

Syntax

FUNCTION explode_dn 
(
dn      IN VARCHAR2,
notypes IN PLS_INTEGER
)
RETURN STRING_COLLECTION;

Parameters

Table 9-85 EXPLODE_DN Function Parameters

Parameter Description
dn
This parameter specifies the name of the directory entry to be broken up.
notypes
This parameter specifies whether the attribute tags will be returned. If this value is not 0, no attribute tags are returned.

Return Values

Table 9-86 EXPLODE_DN Function Return Values

Value Description
STRING_COLLECTION
An array of strings. If the DN cannot be broken up, NULL will be returned.

Exceptions

Table 9-87 EXPLODE_DN Function Exceptions

Exception Description
invalid_entry_dn
Invalid LDAP DN.
invalid_notypes
Invalid LDAP notypes value.

See Also

DBMS_LDAP.get_dn().

9.4.33 FUNCTION open_ssl

Establishes an SSL (Secure Sockets Layer) connection over an existing LDAP connection.

Syntax

FUNCTION open_ssl
(
ld              IN SESSION,
sslwrl          IN VARCHAR2,
sslwalletpasswd IN VARCHAR2,
sslauth         IN PLS_INTEGER
)
RETURN PLS_INTEGER;

Parameters

Table 9-88 OPEN_SSL Function Parameters

Parameter Description
ld
This parameter is a handle to an LDAP session that is returned by a successful call to DBMS_LDAP.init().
sslwrl
This parameter specifies the wallet location. Required for one-way or two-way SSL connections.
sslwalletpasswd
This parameter specifies the wallet password. Required for one-way or two-way SSL connections.
sslauth
This parameter specifies the SSL Authentication Mode. (1 for no authentication, 2 for one-way authentication required, 3 for two-way authentication).

Return Values

Table 9-89 OPEN_SSL Function Return Values

Value Description
PLS_INTEGER
Indicates the success or failure of the operation.

Exceptions

Table 9-90 OPEN_SSL Function Exceptions

Exception Description
invalid_session
Invalid LDAP Session.
invalid_ssl_wallet_loc
Invalid LDAP SSL wallet location.
invalid_ssl_wallet_passwd
Invalid LDAP SSL wallet password.
invalid_ssl_auth_mode
Invalid LDAP SSL authentication mode.

Usage Notes

Need to call DBMS_LDAP.init() first to acquire a valid ldap session.

See Also

DBMS_LDAP.init().

9.4.34 FUNCTION msgfree

This function frees the chain of messages associated with the message handle returned by synchronous search functions.

Syntax

FUNCTION msgfree
(
res             IN MESSAGE
)
RETURN PLS_INTEGER;

Parameters

Table 9-91 MSGFREE Function Parameters

Parameter Description
res
The message handle obtained by a call to one of the synchronous search routines.

Return Values

Table 9-92 MSGFREE Return Values

Value Description
PLS_INTEGER
Indicates the type of the last message in the chain.

The function might return any of the following values:

  • DBMS_LDAP.LDAP_RES_BIND

  • DBMS_LDAP.LDAP_RES_SEARCH_ENTRY

  • DBMS_LDAP.LDAP_RES_SEARCH_REFERENCE

  • DBMS_LDAP.LDAP_RES_SEARCH_RESULT

  • DBMS_LDAP.LDAP_RES_MODIFY

  • DBMS_LDAP.LDAP_RES_ADD

  • DBMS_LDAP.LDAP_RES_DELETE

  • DBMS_LDAP.LDAP_RES_MODDN

  • DBMS_LDAP.LDAP_RES_COMPARE

  • DBMS_LDAP.LDAP_RES_EXTENDED


Exceptions

msgfree raises no exceptions.

See Also

DBMS_LDAP.search_s(), DBMS_LDAP.search_st().

9.4.35 FUNCTION ber_free

This function frees the memory associated with a handle to BER ELEMENT.

Syntax

FUNCTION ber_free 
(
ber_elem IN BER_ELEMENT,
freebuf  IN PLS_INTEGER
)

Parameters

Table 9-93 BER_FREE Function Parameters

Parameter Description
ber_elem
A handle to BER ELEMENT.
freebuf
The value of this flag should be 0 while the BER ELEMENT returned from DBMS_LDAP.first_attribute() is being freed. For any other case, the value of this flag should be 1.

The default value of this parameter is zero.


Return Values

ber_free returns no values.

Exceptions

ber_free raises no exceptions.

See Also

DBMS_LDAP.first_attribute(),DBMS_LDAP.next_attribute().

9.4.36 FUNCTION nls_convert_to_utf8

The nls_convert_to_utf8() function converts the input string containing database character set data to UTF8 character set data and returns it.

Syntax

Function nls_convert_to_utf8
(
	data_local IN VARCHAR2
)
	RETURN VARCHAR2;

Parameters

Table 9-94 Parameters for nls_convert_to_utf8

Parameter Description
data_local
Contains the database character set data.

Return Values

Table 9-95 Return Values for nls_convert_to_utf8

Value Description
VARCHAR2
UTF8 character set data string.

Usage Notes

The functions in DBMS_LDAP package expect the input data to be UTF8 character set data if the UTF8_CONVERSION package variable is set to FALSE. The nls_convert_to_utf8() function converts database character set data to UTF8 character set data.

If the UTF8_CONVERSION package variable of the DBMS_LDAP package is set to TRUE, functions in the DBMS_LDAP package expect input data to be database character set data.

See Also

DBMS_LDAP.nls_convert_from_utf8(), DBMS_LDAP.nls_get_dbcharset_name().

9.4.37 FUNCTION nls_convert_to_utf8

The nls_convert_to_utf8() function converts the input string collection containing database character set data to UTF8 character set data. It then returns the converted data.

Syntax

Function nls_convert_to_utf8
(
	data_local IN STRING_COLLECTION
)
	RETURN STRING_COLLECTION;

Parameters

Table 9-96 Parameters for nls_convert_to_utf8

Parameter Description
data_local
Collection of strings containing database character set data.

Return Values

Table 9-97 Return Values for nls_convert_to_utf8

Value Description
STRING_COLLECTION
Collection of strings containing UTF8 character set data.

Usage Notes

The functions in the DBMS_LDAP package expect the input data to be in the UTF8 character set if the UTF8_CONVERSION package variable is set to FALSE. The nls_convert_to_utf8() function converts the input data from the database character set to the UTF8 character set.

If the UTF8_CONVERSION package variable of the DBMS_LDAP package is set to TRUE, functions in the DBMS_LDAP package expect the input data to be in the database character set.

See Also

DBMS_LDAP.nls_convert_from_utf8(), DBMS_LDAP.nls_get_dbcharset_name().

9.4.38 FUNCTION nls_convert_from_utf8

The nls_convert_from_utf8() function converts the input string containing UTF8 character set to database character set data. It then returns this data.

Syntax

Function nls_convert_from_utf8
(
	data_utf8 IN VARCHAR2
)
	RETURN VARCHAR2;

Parameters

Table 9-98 Parameter for nls_convert_from_utf8

Parameter Description
data_utf8
Contains UTF8 character set data.

Return Values

Table 9-99 Return Value for nls_convert_from_utf8

Value Description
VARCHAR2
Data string in the database character set.

Usage Notes

The functions in the DBMS_LDAP package return UTF8 character set data if the UTF8_CONVERSION package variable is set to FALSE. The nls_convert_from_utf8() function converts the output data from the UTF8 character set to the database character set.

If the UTF8_CONVERSION package variable of the DBMS_LDAP package is set to TRUE, functions in the DBMS_LDAP package return database character set data.

See Also

DBMS_LDAP.nls_convert_to_utf8(), DBMS_LDAP.nls_get_dbcharset_name().

9.4.39 FUNCTION nls_convert_from_utf8

The nls_convert_from_utf8() function converts the input string collection containing UTF8 character set data to database character set data. It then returns this data.

Syntax

Function nls_convert_from_utf8
(
	data_utf8 IN STRING_COLLECTION
)
	RETURN STRING_COLLECTION;

Parameters

Table 9-100 Parameter for nls_convert_from_utf8

Parameter Description
data_utf8
Collection of strings containing UTF8 character set data.

Return Values

Table 9-101 Return Value for nls_convert_from_utf8

Value Description
VARCHAR2
Collection of strings containing database character set data.

Usage Notes

The functions in the DBMS_LDAP package return UTF8 character set data if the UTF8_CONVERSION package variable is set to FALSE. nls_convert_from_utf8() converts the output data from the UTF8 character set to the database character set. If the UTF8_CONVERSION package variable of the DBMS_LDAP package is set to TRUE, functions in the DBMS_LDAP package return database character set data.

See Also

DBMS_LDAP.nls_convert_to_utf8(), DBMS_LDAP.nls_get_dbcharset_name().

9.4.40 FUNCTION nls_get_dbcharset_name

The nls_get_dbcharset_name() function returns a string containing the database character set name.

Syntax

Function nls_get_dbcharset_name

	RETURN VARCHAR2;

Parameters

None.

Return Values

Table 9-102 Return Value for nls_get_dbcharset_name

Value Description
VARCHAR2
String containing the database character set name.

See Also

DBMS_LDAP.nls_convert_to_utf8(), DBMS_LDAP.nls_convert_from_utf8().