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

SQL Oracle Discussion :

Différence de résultat avec type XMLELEMENT/XMLFOREST entre base 9I et 11G [11gR2]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Admin BDD niv 1
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Admin BDD niv 1
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Par défaut Différence de résultat avec type XMLELEMENT/XMLFOREST entre base 9I et 11G
    Bonjour,

    J’ai détecté une différence de comportement entre les versions 9I et 11G sur la génération de données XML avec ORACLE.

    Pour les constants, En 11G, on génère les balises à vide alors qu’en 9I, si celles-ci sont vides, alors elles ne sont pas créées par XMLFOREST.

    nous sommes dans le cadre d'une migration et nous générons des fichiers XML pour une machine outil. Il faut que le fichier XML en 11G soit identique à ce que nous avons actuellement en 9I.


    Exemple démontrant le problème :

    soit la requête suivante sur une table PERSONNES avec 3 constantes XC, YC et OR :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT XMLELEMENT("Personne", 
       XMLFOREST(p.ID_PERSONNE, 
                 p.NOM_PERSONNE,
                 p.DATENAISSANCE_PERSONNE,
                 '' "XC",
                 '' "YC",
                 '' "OR"))
       "personne Element"
       FROM rbarbot.personnes p;

    Résultat 9I
    Nom : 9i.jpg
Affichages : 265
Taille : 58,5 Ko

    Résultat 11G
    Nom : 11g.jpg
Affichages : 317
Taille : 80,3 Ko


    Après, c'est vrai, vous pourriez me répondre que si on ne veut pas avoir ces balises qui sont vides alors il suffirait juste de ne pas les ajouter dans XMLFOREST mais l'idée est de ne pas toucher au fonctionnement actuel....

    Sauriez-vous comment faire pour qu’on produise en 11G le même résultat qu’en 9I ?



    Merci,


    Richard

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Vous êtes tombé sur l'une des rares différences entre le null et la chaîne vide implémentée chez Oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select XMLElement("Personne", XMLForest(''   "XC", ''   "YC", ''   "OR")).getstringval() as c1
         , XMLElement("Personne", XMLForest(null "XC", null "YC", null "OR")).getstringval() as c2
      from dual;
     
    C1                                                C2
    ------------------------------------------------  ---------------------
    <Personne><XC></XC><YC></YC><OR></OR></Personne>  <Personne></Personne>

  3. #3
    Membre averti
    Homme Profil pro
    Admin BDD niv 1
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Admin BDD niv 1
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Par défaut
    Merci à toi.
    Je vais tester mais en effet en mettant null à la place de '' le résultat est identique en 9I et nous n'avons plus les balises à vides en 11G.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Google Maps] Différence de résultat suivant type de recherches
    Par bronon dans le forum APIs Google
    Réponses: 3
    Dernier message: 02/10/2013, 18h56
  2. Différence de résultat avec requête MATCH
    Par Slayes dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/09/2013, 13h00
  3. Différence de résultat entre (avec/sans points d'arrets)
    Par sayfouche dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 06/06/2012, 15h17
  4. Différence de résultats entre requêtes SQL et Criteria
    Par titoudemtl dans le forum Hibernate
    Réponses: 3
    Dernier message: 07/08/2006, 09h30
  5. Différence de résultats d'une requête entre OpenQuery et ADO
    Par hellbilly dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/04/2006, 18h29

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