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

Oracle Discussion :

oracle et xml


Sujet :

Oracle

  1. #21
    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
    Un petit retour sur le sujet de la bind variable, sur trois tests effectués sur la même volumétrie.

    Première écriture (sans bind) : 48 minutes
    Deuxième écriture (avec un bind) : 26 minutes
    Troisième écriture (le select qui pointe directement sur le curseur) : 42 minutes

    Je vais garder la deuxième !

  2. #22
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Un petit retour sur le sujet de la bind variable, sur trois tests effectués sur la même volumétrie.

    Première écriture (sans bind) : 48 minutes
    Deuxième écriture (avec un bind) : 26 minutes
    Troisième écriture (le select qui pointe directement sur le curseur) : 42 minutes

    Je vais garder la deuxième !
    Sans le protocole de test il est difficile de se prononcer pour ou contre vos conclusions. Mais, je voudrais simplement remarquer que:
    a) une différence de l'ordre de 20 minutes entre deux exécutions de la même requête avec et sans variable de liaison est difficile à mettre seulement sur les variables de liaison (binding variables).
    b) Pour le moteur SQL d'Oracle, il n'y pas vraiment des différences entre la requête qui utilise le USING et la requête qui utilise le SQL statique. Au bout de la ligne ce sont deux requêtes qui utilisent des variables de liaison de la même manière (vérifiez avec une trace SQL). Mais la version qui utilise le SQL statique est meilleure parce quelle permet de faire des vérifications de syntaxe, droit d'accès, etc. à la compilation du bloc PL/SQL et non pas tardivement à l'exécution comme c'est le cas avec les requêtes dynamiques.

  3. #23
    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
    Oui de toutes façons les tests en plein après-midi, ce n'est pas l'idéal, le serveur pouvant être plus ou moins attaqué.

    Il faudrait que j'en refasse la nuit et que je jette un oeil à la trace effectivement.

  4. #24
    r83
    r83 est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 271
    Par défaut
    Bonsoir,

    Je viens de me reconnecter et je vois que mon problème a ouvert un débat intéressant.
    Effectivement, j'avais bien penser utiliser utl_file pour générer un fichier, je l'ai même fait à l'arrache... mais mon problème venait du fait que je voulais stocker ce fichier sur le poste client. Je ne pensais pas qu'il était possible de créer un fichier sur le poste client avec utl_file. Par contre ce soir, je ne vois pas grand chose sur internet, si vous avez des exemples ou des liens, je suis preneur.
    Enfin, est-il possible de charger en une seule requête (ex :select xmlroot....) le fichier à renvoyer au client?
    Un grand merci pour ces précieuses réponses.
    BR

  5. #25
    r83
    r83 est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 271
    Par défaut
    Re-bonsoir,

    Après quelques tests, je vois que les requêtes que vous me proposez me retournent juste la dernière commande.
    Pourquoi, si on renvoie un fichier sur le client avec utl_file, ne pas faire simplement une requête du style :
    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
     
    select
     xmlRoot( 
         xmlElement(name "lescommandes",
          XMLAgg(XMLElement(name "commande",
                   XMLAttributes(commande.idcde),
                   XMLElement(name "datecommande", commande.datecde), 
                   XMLAgg(XMLElement(name "LigneCde",
                      XMLForest(produit.idprod AS "id",
                      produit.libprod AS "libelle",
                      prodcde.qte AS "qteCommande") 
                      )             )
                      ))),version ''1.0" encoding="iso-8859-1''))getClobVal() AS RESULTAT
     
       FROM commande  INNER JOIN prodcde  ON prodcde.idcde = commande.idcde
                      INNER JOIN produit  ON produit.idprod = prodcde.idprod
       GROUP BY commande.idcde, commande.datecde;
    qui retournerait le résultat désiré. Celle-c i est à mettre au point, il est tard, je ne vois plus l'erreur!!
    Merci et.. bonne nuit
    BR

Discussions similaires

  1. [XSLT] Débutant : Oracle vers xml
    Par molololo dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 30/03/2010, 17h55
  2. configuration de oracle-ds.xml
    Par tresorkoul dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 30/09/2009, 13h04
  3. Erreur oracle installing xml parser
    Par slash_cat dans le forum Installation
    Réponses: 0
    Dernier message: 04/12/2008, 17h17
  4. oracle et XML
    Par Smix007 dans le forum Outils
    Réponses: 0
    Dernier message: 10/03/2008, 10h25
  5. [JBOSS] Sécurité oracle-ds.xml
    Par jeuneloup dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 02/08/2007, 15h53

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