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 :

erreur PLS-00382 xpath.valueof


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut erreur PLS-00382 xpath.valueof
    Bonjour,

    J'ai un souci avec cette procédure:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    CREATE OR REPLACE PROCEDURE p_analyse(p_codsoc IN NUMBER)
    IS
       wa_xmldiagnostic   xmldom.domdocument;
       wa_listenode       xmldom.domnodelist;
       wa_siteid          VARCHAR2 (10);
       wa_passwd          VARCHAR2 (20);
    BEGIN
       wa_xmldiagnostic :=
                       f_gl_demandereponse(p_codsoc, wa_siteid, wa_passwd);
       wa_listenode := xpath.selectnodes (wa_xmldiagnostic, '/stack/result');
     
       FOR i IN 1 .. xmldom.getlength (wa_listenode)
       LOOP
          BEGIN
             INSERT INTO vad_fianet_tmp
                         (numeve,
                          retour,
                          avancement,
                          dateeval,
                          eval,
                          info,
                          cosoc
                         )
                  VALUES (xpath.valueof (xmldom.item (wa_listenode, i - 1),
                                         '@refid'
                                        ),
                          xpath.valueof (xmldom.item (wa_listenode, i - 1),
                                         '@retour'
                                        ),
                          xpath.valueof (xmldom.item (wa_listenode, i - 1),
                                         '/transaction@avancement'
                                        ),
                          xpath.valueof (xmldom.item (wa_listenode, i - 1),
                                         '/transaction/analyse/eval@date'
                                        ),
                          xpath.valueof (xmldom.item (wa_listenode, i - 1),
                                         '/transaction/analyse/eval'
                                        ),
                          xpath.valueof (xmldom.item (wa_listenode, i - 1),
                                         '/transaction/analyse/eval@info'
                                        ),
                          p_codsoc
                         );
     
             COMMIT;
          END;
       END LOOP;
    END;
    Lorsque je compile, j'ai cette erreur pour chaque xpath.valueof(DomNode,varchar2) :
    PLS-00382: expression du mauvais type

    Je ne vois pas du tout d'où vient le problème donc si je peux avoir un avis exterieur....

  2. #2
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    J'ai peur que PL/SQL ne comprends pas des appel java de type xpath.valueOf

    Voila le lien que je pense qu'il devez te mettre sur la bon voie http://download.oracle.com/docs/cd/B...l.htm#i1007914

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse mais je ne vois pas pourquoi dans cette procédure l'appel à xpath.valueof ne fontionnerai pas alors que je l'utilise dans une autre procédure et qu'il ne me génére pas d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xpath.valueOf(xmldom.domdocument,varchar2);

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    J'ai 2 autres erreurs sur la même portion de code:

    PLS-00306: numéro ou types d'arguments erronés dans appel à 'ITEM'

    PL/SQL: ORA-00904: "XMLDOM"."ITEM" : identificateur non valide

    ne serais ce pas l'origine de mon problème???

  5. #5
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    J'espère que ça peut aider

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    CREATE DIRECTORY xmldir AS 'c:\Marius\dev\PlSql'
    /
    CREATE TABLE mytable2 OF XMLType
    /
    INSERT INTO mytable2 VALUES (XMLType(bfilename('XMLDIR', 'purchaseorder.xml'),
                                         nls_charset_id('AL32UTF8')))
    /
    SET LONG 10000
    SET PAGESIZE 100
    SELECT OBJECT_VALUE FROM mytable2
    /
    -- le résultat est un type XMLType
    SELECT extract(OBJECT_VALUE, '/PurchaseOrder/Reference')
      FROM mytable2;
    /
    -- le résultat c'est une valeur
    SELECT extractValue(OBJECT_VALUE, '/PurchaseOrder/Reference')
    FROM myTable2
    /
    
    Create Or Replace Procedure Xmltest Is
    myVar  varchar2(100);
    Begin
      SELECT extractValue(OBJECT_VALUE, '/PurchaseOrder/Reference')
      Into myVar
      FROM myTable2;
    --
    dbms_output.put_line('myVar = '||myVar);
    End;
    /
    
    set serveroutput on
    exec xmltest
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Erreur = PLS-00382: expression is of wrong type
    Par saladin04 dans le forum PL/SQL
    Réponses: 7
    Dernier message: 31/08/2010, 10h59
  2. TRIGGER Erreur PLS-00357
    Par fuhraih dans le forum Oracle
    Réponses: 6
    Dernier message: 19/04/2006, 10h20
  3. Erreur PLS-00201
    Par AkA dans le forum Oracle
    Réponses: 2
    Dernier message: 14/04/2006, 12h04
  4. Erreur PLS 00103
    Par claralavraie dans le forum Oracle
    Réponses: 4
    Dernier message: 05/01/2006, 17h44
  5. fonction LAG et erreur PLS-00103. Oracle 8i
    Par henrirobert dans le forum Oracle
    Réponses: 7
    Dernier message: 26/05/2005, 16h03

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