Name

ldap_add — Adds a new entry to an LDAP directory.

Synopsis

int ldap_add ( in server_url varchar ,
  in try_tls integer ,
  in data varchar ,
  in username varchar ,
  in password varchar );
 

Description

This function adds a new entry to the LDAP directory.

Parameters

server_url

The server URL has three parts, <protocol>://<host>:<port>. Missing parameters will be defaulted to:

<ldap://localhost:389>

.

try_tls

try_tls is a flag that tells the client to perform a handshake with the LDAP server using a secure connection. This is only applicable to the ldap:// protocol and not ldaps://. If the secure connection attempt fails, the client will fall back to insecure connect.

data

data is an array with name/value pairs representing the data to be added.

username

username authorization credential

password

password authorization credential

Return Types

The error status code is returned. Zero for success.

Errors

Table 24.49. Errors signalled by ldap_add

SQLState Error Code Error Text Description
2E000 LD005 Failed to initialize LDAP connection: <reason> (<reason code>)  
2E000 LD006 Failed to set LDAP version option: <reason> (<reason code>)  
2E000 LD016 Failed to start TLS: <reason> (<reason code>)  
28000 LD007 Failed to bind synchronous LDAP connection: <reason> (<reason code>)  
2E000 LD004 The DN must be supplied  
2E000 LD004 Failed to modify err=<reason code (<reason>)  

Examples

Example 24.203. Using ldap_add

create procedure
sam_ldap_add (in s1 varchar, in s2 varchar)
{
  declare res, vec any;
  declare _from_add integer;

  vec := vector ('dn', concat ('cn=', s1, ' ', s2, ',o=opl,c=BG'),
         'cn', vector (concat (s1, ' ', s2)),
         'mail', vector('mail@techno-link.com'),
         'sn', vector(s2), 'telephoneNumber', vector('032-947020', '032-633710', '048 850 760'),
         'objectClass', vector('inetorgperson' ));

  _from_add := ldap_add ('ldap://buba:389', 0, vec, NULL);

  return (_from_add);
};