IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ODI (ex-Sunopsis) Discussion :

Alimenter un LDAP


Sujet :

ODI (ex-Sunopsis)

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut Alimenter un LDAP
    Bonjour

    Est-ce que quelqu'un a déjà alimenté un LDAP à partir d'une base de données oracle (ou autre) ?
    J'ai des problème lors du reverse du modèle du LDAP peut être à cause de champs spécifiques qui ont été créé dans le LDAP (valeur insérer trop grande pour colonne).
    Aussi je voudrais savoir comment vous avez gérer l'alimentation de la clé primaire dans la table INETORGPERSON.

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Bonjour,

    j'ai fait cela il y a longtemps en sunopsis V3 ... de mémoire il y a la possibilité d'avoir un fichier d'Alias (alias.txt) ...

    7. Un fichier d’alias (alias.txt) peut être créer pour éviter de manipuler des noms de « table » ou de colonne trop long. Ce fichier peut être placé n’importe ou.
    (exemple: dans un repertoire nommé alias sous le répertoire d'installation de sunopsis ).
    Et dans la topology au moment ou tu définis la connexion il faut faire quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jdbc:snps:ldap?lp=ldap_openldap&ab=/usr/local/sunopsis_agent/sunopsisv3/ldapalias/alias.txt&numeric_ids=false
    j'avais aussi mis les parametres de conf dans un fichier annexe.

    si cela peut t'aider

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Oui super ! C'est exactement ca sauf qu'il ne faut pas mettre d'extension au fichier d'alias.
    Merci !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    J'ai pu faire le reverse, maintenant je veux alimenter le ldap.
    La première insertion est ok, mais lorsque je relance l'interface, j'ai un plantage car l'enregistrement existe déjà.

    0 : null : java.sql.SQLException: S1000 General error com.sunopsis.ldap.trigger.c: Exception javax.naming.NameAlreadyBoundException occurred saying: [LDAP: error code 68 - Entry Already Exists]

    Avez-vous déjà eu ce problème ?
    Aussi, est-il possible de faire de l'update ?

  5. #5
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    après tu manipules les tables reverses comme des tables normales avec des insert / updates ...

    par contre il est à noter que lorsque j'ai fait mon reverse j'ai alimenté mon annuaire avec tous les attributs que j'allais manipulé et les attributs multiples autant de fois que nécessaires.

    car si un attribut exemple email est multiple Sunopsis génère une table hiérarchique.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    ok, je met le ldap en destination (inetorgperson_person) mais pas possible de faire de l'update avec IKM SQL Incremental update. aie.

  7. #7
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    pour ma part je met :

    - bien mon annuaire comme espace de travail
    - je défini une clé de mise à jour coté annuaire , mon UID
    - j'utilise le KM ISO SQL Incremental Update

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    J'ai fait la même chose.
    Insert ok mais l'update génère cette erreur :

    0 : null : java.sql.SQLException: failed batch
    java.sql.SQLException: failed batch
    at com.sunopsis.ldap.jdbc.driver.g.executeBatch(g.java)
    at com.sunopsis.ldap.jdbc.driver.h.executeBatch(h.java)
    at com.sunopsis.sql.SnpsQuery.executeBatch(SnpsQuery.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
    at com.sunopsis.dwg.cmd.e.i(e.java)
    at com.sunopsis.dwg.cmd.g.y(g.java)
    at com.sunopsis.dwg.cmd.e.run(e.java)
    at java.lang.Thread.run(Unknown Source)

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Lorsque l'espace de travail est le LDAP, comment peut on voir les tables E$ ?

  10. #10
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    De mémoire les tables sont générés à la volée en mémoire ... il n'est pas possible à ma connaissance de voir les tables d'erreurs

    pour le message d'erreur je ne comprend pas bien ... tu as quoi dans le journal ? et il p asse en erreur sur quelle étape ?

    au passage , il y a deux commandes sur le forum le # et la feuille à coté pour insérer du code et des messages d'erreurs , c'est plus lisible.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    J'utilise le IKM SQL incremental update.
    La clé primaire du ldap est PERSONNEPK (créé par ODI).

    L'insertion d'un seul enregistrement est ok.
    Par contre si je veux le réinsérer, ODI génère l'erreur suivante (Insert New Rows) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 : null : java.sql.SQLException: S1000 General error com.sunopsis.ldap.trigger.c: Exception javax.naming.NameAlreadyBoundException occurred saying: [LDAP: error code 68 - Entry Already Exists]

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Si je modifie la PK et que je la remplace par UID, j'ai une erreur lors de l'operation "update existing rows" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    0 : null : java.sql.SQLException: failed batch
    java.sql.SQLException: failed batch
    	at com.sunopsis.ldap.jdbc.driver.g.executeBatch(g.java)
    	at com.sunopsis.ldap.jdbc.driver.h.executeBatch(h.java)
    	at com.sunopsis.sql.SnpsQuery.executeBatch(SnpsQuery.java)
    	at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
    	at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
    	at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
    	at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
    	at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
    	at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
    	at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
    	at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
    	at com.sunopsis.dwg.cmd.e.i(e.java)
    	at com.sunopsis.dwg.cmd.g.y(g.java)
    	at com.sunopsis.dwg.cmd.e.run(e.java)
    	at java.lang.Thread.run(Unknown Source)

  13. #13
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    tu peux regarder:

    -dans les options du "IKM Incrementale update" que tu as bien l'option UPDATE à oui

    -si pour chacune des colonnes de ta table cible elles sont toutes en update

    -que ta clé est bien coché "clé de mise à jour"

  14. #14
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    dans ton fichier "alias" lors du reverse à quoi as tu fait correspondre la clé de l'annuaire LDAP qui par défaut sur un openLdap est l'attribut UID

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par shaun_the_sheep Voir le message
    tu peux regarder:

    -dans les options du "IKM Incrementale update" que tu as bien l'option UPDATE à oui

    -si pour chacune des colonnes de ta table cible elles sont toutes en update

    -que ta clé est bien coché "clé de mise à jour"
    Dans les options du KIM, Update est bien à "oui".
    Tous les colonnes de la table cible sont en insert et update.
    La clé n'est pas cochée "clé de mise à jour" mais la clé bleue apparait bien.

    Voici mon fichier alias :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    organizationalrole_simplesecurityobject = ROLE_SECURITE
    inetorgperson_organizationalperson_person_client_name_code_technicien = PERSONNE_CODE_TECHNICIEN
    groupofnames_member = GROUPE_MEMBRE
    inetorgperson_organizationalperson_person_client_name_etat_client = PERSONNE_ETAT_CLIENT
    inetorgperson_organizationalperson_person_client_name_mail = PERSONNE_MAIL
    inetorgperson_organizationalperson_person = PERSONNE
    groupofnames = GROUPE
    root = ROOT
    inetorgperson_organizationalperson_person_client_name_code_responsable = PERSONNE_CODE_RESPONSABLE
    inetorgperson_organizationalperson_person_client_name_siret = PERSONNE_SIRET
    organizationalunit = UO
    inetorgperson_organizationalperson_person_client_name = PERSONNE_NAME
    Ma cible est la table PERSONNE

  16. #16
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    autre piste ... si tu fais un simple insert , dans le déroulé dans le journal d'execution as tu bien tout de même une étape concernant l'update avec aucune action ?

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    J'ai supprimé l'utilisateur de test du ldap.
    Je refais tourner l'interface, l'insert est ok.
    L'étape de l'update (update existing rows) existe bien et n'a aucune ligne mise à jour.
    Si je refais tourner l'interface, je retrouve à nouveau l'erreur précédente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 : null : java.sql.SQLException: S1000 General error com.sunopsis.ldap.trigger.c: Exception javax.naming.NameAlreadyBoundException occurred saying: [LDAP: error code 68 - Entry Already Exists] in statement [insert into 	PERSONNE  (  	...

  18. #18
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Je ne sais pas si c'est normal mais dans le modele de données de la table PERSONNE, l'uid est nommé "UID_"

  19. #19
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Essaies d'alimenter une fois ton annuaire avec un utilisateur et tous les champs que tu ne touches plus ... je me rappelle effectivement qu'il me fallait toujours une entrée ...

    puis insères un autre utilisateur et fait de l'update dessus ...

    coté annuaire tu as quoi ? un openLdap ? autre chose ?

  20. #20
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    C'est du OpenLdap.
    Je vais refaire des tests.

Discussions similaires

  1. Alimentation LDAP avec TALEND
    Par ALLODREN dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 14/12/2011, 14h25
  2. Réponses: 8
    Dernier message: 23/01/2007, 21h02
  3. Alimenter le context sur un appel Javascript ?...
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 20/10/2003, 15h44
  4. Alimentation d'un SGBDR depuis un autre SGBR
    Par samyl dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 17/09/2003, 15h57
  5. LDAP
    Par Filip dans le forum Développement
    Réponses: 2
    Dernier message: 24/12/2002, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo