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 :

PLS-00201: identifier 'CPA_MODIF_NOEUD' must be declared


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 43
    Par défaut PLS-00201: identifier 'PROC1' must be declared
    Bonjour,

    J'ai un problème de droits pour l'exécution d'une porcédure avec un utilisateur tandisqu'elle fait partie du schéma d'un autre utilisateur.

    J'ai un utilisateur U1 qui a des tables des fonctions et des procédures. Je veux à partir d'un autre utilisateur U2 qui n'a rien et qui doit utiliser les objets du schéma de U1.

    Je donne donc le droit de manipulations des tables et les droits d'exéctuin des procédures et fonctions au user U2.

    Quand j'exécute une procédure sur laquelle j'ai fait au préalable un :
    GRANT EXECUTE ON PROC1 TO U2 ;

    il me sort ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SQL> declare
      2   lib_erreur varchar2(512) ;
      3  begin
      4   PROC1(lib_erreur);
      5  end
      6  ;
      7  /
    PROC1(lib_erreur);
    *
    ERROR at line 4:
    ORA-06550: line 4, column 1:
    PLS-00201: identifier 'PROC1' must be declared
    ORA-06550: line 4, column 1:
    PL/SQL: Statement ignored
    Avec le propriétaire de le même bloc d'appel, marche très bien.


    Elise78 ;-)

  2. #2
    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
    2 solutions :
    - soit tu crées un synonyme
    - soit tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> declare
      2   lib_erreur varchar2(512) ;
      3  begin
      4   U1.PROC1(lib_erreur);
      5  end
      6  ;
      7  /

  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 43
    Par défaut
    Citation Envoyé par plaineR
    2 solutions :
    - soit tu crées un synonyme
    - soit tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> declare
      2   lib_erreur varchar2(512) ;
      3  begin
      4   U1.PROC1(lib_erreur);
      5  end
      6  ;
      7  /
    La deuxième solution n'est pas envisageable étant donné que le code existant ne précise pas de quel schéma il appartient.
    Pour la première solution je vais tester, mais ca m'étonne de devoir mettre des synonymes sur des procédures !


    Elise78 ;-)

  4. #4
    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
    Citation Envoyé par Elise78
    mais ca m'étonne de devoir mettre des synonymes sur des procédures !
    Pourquoi ? Ce sont des objets oracle comme les autres.

  5. #5
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 43
    Par défaut
    Citation Envoyé par plaineR
    Pourquoi ? Ce sont des objets oracle comme les autres.

    Et bien oui c'est exactement ce que j'ai appris ;-)

    Ca marche vraiment mieux maintenant. Merci PlaineR


    Elise78

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/07/2011, 13h58
  2. PLS-00201: identifier 'SYS.DBMS_LOCK'
    Par Snyper dans le forum Oracle
    Réponses: 7
    Dernier message: 07/12/2010, 11h23
  3. Réponses: 2
    Dernier message: 02/12/2010, 15h22
  4. Erreur PLS-00201
    Par AkA dans le forum Oracle
    Réponses: 2
    Dernier message: 14/04/2006, 12h04
  5. [Débutant][8i]PLS-00320, PLS-00201
    Par Magnus dans le forum Oracle
    Réponses: 16
    Dernier message: 16/12/2005, 14h05

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