This module is aPerl extension for DBI, providing an SQL/Perl DBI interface to Ldap databases.
DBD::LDAP is a DBI extension module adding an SQL database interface to standard LDAP databases to Perl's database-independent database interface. You will need access to an existing LDAP database or set up your own using an LDAP server, ie. "OpenLDAP", see (http://www.openldap.org).
The main advantage of DBD::LDAP is the ability to query LDAP databases via standard SQL queries in leu of cryptic LDAP "filters". LDAP is optimized for quick lookup of existing data, but DBD::LDAP does support entry inserts, updates, and deletes with commit/rollback via the standard SQL commands!
LDAP databases are "heirarchical" in structure, whereas other DBD-supported databases are "relational" and there is no LDAP-equivalent to SQL "tables", so DBD::LDAP maps a "table" interface over the LDAP "tree" via a configuration file you must set up. Each "table" is mapped to a common "base DN". For example, consider a typical LDAP database of employees within different departments within a company. You might have a "company" names "Acme" and the root "dn" of "dc=Acme, dc=com" (Acme.com). Below the company level, are divisions, ie. "Widgets", and "Blivets".
Each division would have an entry with a "dn" of "ou=Widgets, dc=Acme, dc=com". Employees within each division could have a "dn" of "cn=John Doe, ou=Widgets, dc=Acme, dc=com". With DBD::LDAP, we could create tables to access these different levels, ie. "top", which would have a "DN" of "dc=Acme, dc=com", "WidgetDivision" for "dc=Acme, dc=com". Tables can also be constained by additional attribute specifications (filters), ie constraining by "objectclass", ie. "(objectclass=person)". Then, doing a "select * from WidgetDivision" would display all "person"s with a "dn" containing ""ou=Widgets, dc=Acme, dc=com".
Requirements:
· Convert::ANS1 (required by Net::LDAP)
· Net::LDAP
· DBI
· an LDAP database to connect to.