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)

  1. #1
    Nouveau Candidat au Club
    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
    Points : 1
    Points
    1
    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 habitué
    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
    Points : 199
    Points
    199
    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
    Nouveau Candidat au Club
    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
    Points : 1
    Points
    1
    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
    Nouveau Candidat au Club
    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
    Points : 1
    Points
    1
    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 habitué
    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
    Points : 199
    Points
    199
    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
    Nouveau Candidat au Club
    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
    Points : 1
    Points
    1
    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)

  7. #7
    Membre habitué
    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
    Points : 199
    Points
    199
    Par défaut
    Je n'ai jamais eu cet erreur la...

    J'ai tester sans l'option du JDBC ntc et avec le NO_CLOSING_TAGS et ca a fonctionner

    Tu peux me donner le code de la ligne qui plante?

  8. #8
    Nouveau Candidat au Club
    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
    Points : 1
    Points
    1
    Par défaut
    J'ai vraiment juste ajouté à ma ligne le NO_CLOSING_TAGS
    CREATE FILE "XMLFILENAME.xml" FROM SCHEMA My_SCHEMA NO_CLOSING_TAG

    Sans ce paramètre cela fonctionne mais avec j'ai le problème de null pointer exception et aucune informations supplémentaires que la stacktrace que j'ai posté plus haut

  9. #9
    Membre habitué
    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
    Points : 199
    Points
    199
    Par défaut
    ok je vois
    la syntaxe exacte de la commande est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE [EMPTY] FILE <file_name> [FROM SCHEMA <schema_name>] [ROOTTABLE <table_name>] [JAVA_ENCODING <java_encoding> XML_ENCODING <xml_encoding>] [NO_CLOSING_TAGS] [NO_DEFAULT_NS]
    manque le nom du schema ^^


    Toutes les commandes du JDBC XML d'ODI :
    http://download.oracle.com/docs/cd/E...r_commands.htm

  10. #10
    Membre habitué
    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
    Points : 199
    Points
    199
    Par défaut
    Oopps escuse moi je n'avais pas vu le My_schema

    tu as essayer sans le FROM SCHEMA My_schema?

  11. #11
    Membre habitué
    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
    Points : 199
    Points
    199
    Par défaut
    le S à NO_CLOSING_TAGS ?

  12. #12
    Nouveau Candidat au Club
    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
    Points : 1
    Points
    1
    Par défaut
    Je n'ai pas tenté sans le FROM SCHEMA mais quand j'utilise la ligne

    CREATE FILE "XMLFILENAME.xml" FROM SCHEMA My_SCHEMA

    Cela fonctionne sans problème. c'est vraiment juste l'ajout du paramètre NO_CLOSING_TAGS qui m'a fait planter le tout.

  13. #13
    Nouveau Candidat au Club
    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
    Points : 1
    Points
    1
    Par défaut
    J'avais un souci de guillements. Par contre j'ai désormais une exception de type SQL : Closed Connection. Mais je pense pas que cela soit lié, je débloque ça et lorsque c'est bon je retente ta technique

  14. #14
    Membre habitué
    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
    Points : 199
    Points
    199
    Par défaut
    Apres si ca ne fonctionne pas c'est que tu n'a pas la même version du driver que moi.
    Je travaille sur ODI 11g, c'est peut être une explication.

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