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 :

ORA-06511


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Par défaut ORA-06511
    J'ai une erreur sur mon script PL/SQL mais je ne comprends pas trop pourquoi il me fait cette erreur


    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
     
     DECLARE
     
    (...) 
     
     BEGIN
     
    (...)
       -- recherche des za à dupliquer
       <<za_loop>>
       for r in (
           select ID_ZA, 
                  ID_COMBINAISON_ZT, 
                  ID_CTC, 
                  FLAG_VALIDITE,  
                  HEURE_DEBUT, 
                  FORFAIT_LUNDI, 
                  FORFAIT_MARDI, 
                  FORFAIT_MERCREDI, 
                  FORFAIT_JEUDI, 
                  FORFAIT_VENDREDI, 
                  FORFAIT_SAMEDI, 
                  FORFAIT_DIMANCHE, 
                  HEURE_FIN, 
                  DATE_CREATION, 
                  DATE_SUPPRESSION, 
                  DATE_MODIFICATION, 
                  LIBELLE_ZA, 
                  FLAG_IMPORT
           from ZA 
           where za.date_creation <= PD_DATE_EFFET_IMPORT 
             and PD_DATE_EFFET_IMPORT <= za.date_suppression
             and za.id_ctc = PNI_ID_CTC
       )
     
       LOOP
     
            -- parcours des CA appartenant à la ZA
            <<ca_loop>>
             for s in (
                 select ca.id_ca,
                        ca.code_ca 
                 from chantier_annexe ca, rattachement_ca_za ratt 
                 where ratt.id_za = r.id_za
                   and ratt.id_ca = ca.id_ca 
             )
             LOOP
                UTL_FILE.PUT_LINE(fileHandler,'CA actuel' || s.id_ca);
                duplicateZA := true;
     
                 -- nombre de double du CD
                 select count(*) into nbChantierAnnexe 
                 from chantier_annexe ca  
                 where ca.flag_import = PI_FLAG_IMPORT 
                   and ca.code_ca = s.code_ca 
                   and ca.date_fin is null;
     
     
                 if  (nbChantierAnnexe != 0) then 
     
                       -- recuperation de l'id du CA futur
                       select ca.id_ca into idChantierAnnexe 
                       from chantier_annexe ca 
                       where ca.flag_import = PI_FLAG_IMPORT 
                         and ca.code_ca = s.code_ca 
                         and ca.date_fin is null;
                       UTL_FILE.PUT_LINE(fileHandler,'CA futur ' || idChantierAnnexe);
     
                      -- verification que le CA actuel et le CA futur sont rattaché à la meme liste de chaine
                      <<test>>
                      for p in (
                          select ch.code_chaine 
                          from chaine ch, composition_chaine cc
                          where ch.id_chaine = cc.id_chaine
                          and cc.id_ca = s.id_ca
                          and ( cc.flag_amont_aval = 'M' or cc.flag_amont_aval = 'V')
                          )
                      LOOP
                          select count(*) into nbChantierAnnexe
                          from chaine ch, composition_chaine cc
            				   	  where ch.id_chaine = cc.id_chaine
            					    and ( cc.flag_amont_aval = 'V' or cc.flag_amont_aval = 'M')
            					    and cc.id_ca = idChantierAnnexe
                          and ch.code_chaine = p.code_chaine;
     
                          UTL_FILE.PUT_LINE(fileHandler,'count ' || nbChantierAnnexe );
     
                           if (nbChantierAnnexe = 0) then 
                              duplicateZA := false;
                           EXIT ca_loop;
                           end if; 
     
                      END LOOP test;
     
     
                 else
                      duplicateZA := false;
                      EXIT ca_loop;
                 end if ;
     
     
             END LOOP ca_loop;
     
     
       END LOOP za_loop;
     
     
    END;

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    cette erreur n'existe pas

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Par défaut
    ???

    Ben pourtant j'ai bien comme erreur CURSOR_ALREADY_OPEN
    ORA-06511
    Un curseur a essayé d'être ouvert.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    manque un CLOSE curseur

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Par défaut
    en fait j'ai repris ca d'un exemple sur internet mais il n'y a pas de close curser. Faut le mettre à quel niveau

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    remarque je dis une bétise puisque c'est des boucles FOR... il n'y a pas de OPEN.

    http://ORA-06511.ora-code.com

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Par défaut
    Non c'est pour ca que je ne comprend pas trop le message d'erreur

  8. #8
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Pour trouver d'où vient l'erreur je te conseille de mettre des traces dans ton programme, via dbms_output.put_line par exemple.

  9. #9
    thg
    thg est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 46
    Par défaut
    Bonsoir,

    Si tu es en version 9 d'Oracle , tu peux jeter un oeil sur metalink , bug 3587305 ... ca ressemble bien a ton probleme ...

    hope this help.

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

Discussions similaires

  1. [ORA-01033]
    Par delphim dans le forum Oracle
    Réponses: 11
    Dernier message: 05/05/2004, 11h14
  2. erreur ora-12801 : error signaled in parallel query server
    Par dngaya dans le forum Administration
    Réponses: 5
    Dernier message: 15/04/2004, 16h25
  3. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47
  4. Réponses: 14
    Dernier message: 02/04/2004, 14h33
  5. Oracle ORA-00020 : maximum de processus
    Par Lisou dans le forum Administration
    Réponses: 5
    Dernier message: 22/03/2004, 16h27

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