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 :

[ODI][XML] Balises manquantes si valeur = null


Sujet :

ODI (ex-Sunopsis)

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Par défaut [ODI][XML] Balises manquantes si valeur = null
    Bonjour,

    Je souhaite écrire un fichier XML à partir d'une source ORACLE. Cela fonctionne sauf pour une particularité. En effet, si un de mes champs est à null, ODI ne va pas créer un éléments vide du style <element/> mais ne pas l'ajouter du tout.

    J'ai parcouru de nombreux forum et plusieurs fois la documentation de ODI et malheureusement je ne trouve pas de solution.

    Avez vous déjà rencontré ce problème ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Consultant informatique
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut
    Bonjour,

    J'ai eu le même problème que toi,
    après quelque test j'ai trouver une solution :
    dans les champs ou tu veux que le JDBC te génère une balise vide met ' '
    et dans les option du JDBC tu met nct=true afin d'avoir <element/> plutôt que
    <element> </element>

    PS : j'avais essayé en mettant '' mais rien...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Par défaut
    Citation Envoyé par kisskool45 Voir le message
    Bonjour,

    J'ai eu le même problème que toi,
    après quelque test j'ai trouver une solution :
    dans les champs ou tu veux que le JDBC te génère une balise vide met ' '
    et dans les option du JDBC tu met nct=true afin d'avoir <element/> plutôt que
    <element> </element>

    PS : j'avais essayé en mettant '' mais rien...
    Bonjour,

    Merci pour ta réponse ! Cela m'étonne que le driver prenne un espace comme étant une balise vide. J'avais également tenté avec '' mais Oracle interprète cela comme NULL également ...
    je teste ta solution et reviens poster le résultat.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Par défaut
    Malheureusement il me génère quelque chose du style :
    <UserFirstName> </UserFirstName> Et cela malgré le paramètre nct=true
    Tu as fait une étape de plus ?

  5. #5
    Membre expérimenté
    Profil pro
    Consultant informatique
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut
    j'utilise la commande CREATE FILE pour générer mes fichiers XML
    j'ai rajouté l'option NO_CLOSING_TAGS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE FILE "myfile.xml" NO_CLOSING_TAGS
    (J'ai mon propre IKM)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Par défaut
    J'avais ajouté l'option sur ma topologie sur le jdbc de mon drivers.
    J'ai voulu le faire à ta façon lors de l'appel à CREATE FILE mais lorsque j'ajoute le paramètre N0_CLOSING_TAGS j'ai une exception de générer :

    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
    java.lang.NullPointerException
    	at com.sunopsis.jdbc.driver.xml.bq.executeUpdate(bq.java:621)
    	at com.sunopsis.jdbc.driver.xml.br.executeUpdate(br.java:112)
    	at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
    	at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execStdOrders(SnpSessTaskSql.java)
    	at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
    	at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.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.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
    	at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
    	at com.sunopsis.dwg.cmd.e.i(e.java)
    	at com.sunopsis.dwg.cmd.h.y(h.java)
    	at com.sunopsis.dwg.cmd.e.run(e.java)
    	at java.lang.Thread.run(Thread.java:595)

Discussions similaires

  1. Valeur NULL sur un fichier XML
    Par dehasmae dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 09/06/2015, 14h14
  2. [SAX] parsage xml sax probleme valeur null
    Par toma03 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/02/2012, 12h33
  3. Réponses: 3
    Dernier message: 23/12/2011, 12h15
  4. Réponses: 2
    Dernier message: 04/08/2007, 11h05
  5. [XML] Comment remplacer la valeur de la balise ?
    Par laclac dans le forum Langage
    Réponses: 4
    Dernier message: 19/08/2005, 15h10

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