Hi,
I am using LSC to migrate data from ApacheDS to Mysql database.
I am using Apache Direstory Studio version 2.0.0, ApacheDS server 2.0.0-M17, Mysql 5.6.
The following is my configuration in lsc.xml file.
<?xml version="1.0" ?>
<lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd" revision="0">
<connections>
<ldapConnection>
<name>ldap-conn</name>
<url>ldap://107.108.219.17:10389/dc=samsung,dc=com</url>
<username>uid=admin,ou=system</username>
<password>secret</password>
<authentication>SIMPLE</authentication>
<referral>IGNORE</referral>
<derefAliases>NEVER</derefAliases>
<version>VERSION_3</version>
<pageSize>-1</pageSize>
<factory>com.sun.jndi.ldap.LdapCtxFactory</factory>
<tlsActivated>false</tlsActivated>
</ldapConnection>
<databaseConnection>
<name>mysql-conn</name>
<url>jdbc:mysql://localhost:3306/users</url>
<username>root</username>
<password>root</password>
<driver>com.mysql.jdbc.Driver</driver>
</databaseConnection>
</connections>
<tasks>
<task>
<name>insert</name>
<bean>org.lsc.beans.SimpleBean</bean>
<ldapSourceService>
<name>ldap-insert-service</name>
<connection reference="ldap-conn" />
<baseDn>ou=ES,ou=people,dc=samsung,dc=com</baseDn>
<pivotAttributes>
<string>mail</string>
</pivotAttributes>
<fetchedAttributes>
<string>cn</string>
<string>sn</string>
<string>mobile</string>
<string>uid</string>
<string>mail</string>
</fetchedAttributes>
<getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
<getOneFilter>(&(objectClass=inetOrgPerson)(mail={mail}))</getOneFilter>
<cleanFilter>(&(objectClass=inetOrgPerson)(mail={mail}))</cleanFilter>
</ldapSourceService>
<databaseDestinationService>
<name>mysql-insert-service</name>
<connection reference="mysql-conn" />
<requestNameForList>getPersonList</requestNameForList>
<requestNameForObject>getPerson</requestNameForObject>
<requestsNameForInsert>
<string>insertPerson</string>
</requestsNameForInsert>
<requestsNameForUpdate>
<string>updatePerson</string>
</requestsNameForUpdate>
<requestsNameForDelete>
<string>deletePerson</string>
</requestsNameForDelete>
</databaseDestinationService>
<propertiesBasedSyncOptions>
<mainIdentifier>"mail="+srcBean.getDatasetFirstValueById("mail") + ",ou=ES,ou=people,dc=samsung,dc=com"</mainIdentifier>
<defaultDelimiter>;</defaultDelimiter>
<defaultPolicy>FORCE</defaultPolicy>
<conditions>
<create>true</create>
<update>false</update>
<delete>false</delete>
<changeId>false</changeId>
</conditions>
</propertiesBasedSyncOptions>
</task>
<task>
<name>update</name>
<bean>org.lsc.beans.SimpleBean</bean>
<ldapSourceService>
<name>ldap-update-service</name>
<connection reference="ldap-conn" />
<baseDn>ou=ES,ou=people,dc=samsung,dc=com</baseDn>
<pivotAttributes>
<string>mail</string>
</pivotAttributes>
<fetchedAttributes>
<string>cn</string>
<string>sn</string>
<string>mobile</string>
<string>uid</string>
<string>mail</string>
</fetchedAttributes>
<getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
<getOneFilter>(&(objectClass=inetOrgPerson)(mail={mail}))</getOneFilter>
<cleanFilter>(&(objectClass=inetOrgPerson)(mail={mail}))</cleanFilter>
</ldapSourceService>
<databaseDestinationService>
<name>mysql-update-service</name>
<connection reference="mysql-conn" />
<requestNameForList>getPersonList</requestNameForList>
<requestNameForObject>getPerson</requestNameForObject>
<requestsNameForInsert>
<string></string>
</requestsNameForInsert>
<requestsNameForUpdate>
<string>updatePerson</string>
</requestsNameForUpdate>
<requestsNameForDelete>
<string></string>
</requestsNameForDelete>
</databaseDestinationService>
<propertiesBasedSyncOptions>
<mainIdentifier>"mail="+srcBean.getDatasetFirstValueById("mail")</mainIdentifier>
<defaultDelimiter>;</defaultDelimiter>
<defaultPolicy>FORCE</defaultPolicy>
<conditions>
<update>true</update>
<changeId>false</changeId>
</conditions>
<dataset>
<name>objectClass</name>
<policy>KEEP</policy>
<createValues>
<string>"inetOrgPerson"</string>
<string>"organizationalPerson"</string>
<string>"person"</string>
<string>"top"</string>
</createValues>
</dataset>
<dataset>
<name>mobile</name>
<policy>FORCE</policy>
<forceValues>
<string>"mobile="+srcBean.getDatasetFirstValueById("mobile")</string>
</forceValues>
</dataset>
</propertiesBasedSyncOptions>
</task>
</tasks>
</lsc>
I have ApacheDS server and mysql running on my local machine.
When I run this task using the following command line argument, D:\lsc-2.1.1\bin>lsc -f D:\LSC\adtomysql -s insert, it inserts all users into mysql. Also when I run this task whenever I add any new user, the new user gets synced with mysql.
But Whenever I update any attributes in ApacheDS (lets say I updated mobile), this update doesn't get synced to mysql.
Can someone look at my lsc.xml and point out what the problem is?
I have attached all configuration files lsc.xml InetOrgPerson.xml, logback.xml and sql-map-config.xml with this mail for reference.
On mysql side, I have the following table.
create table users (
uid varchar(50) null,
cn varchar(50) null,
sn varchar(50) null,
mail varchar(50) null,
mobile varchar(50) null
);
Any help is highly appreciated.
Thanks &Regards
ManiChandraKant
|
|
logback.xml
Description: Binary data
lsc.xml
Description: Binary data
sql-map-config.xml
Description: Binary data
InetOrgPerson.xml
Description: Binary data
_______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-users

