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 :

Problème de droits d'une fonction [10gR2]


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Problème de droits d'une fonction
    Bonjour,

    j'ai cette fonction de déclarée dans SCHEMA_1 :

    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
     
    create or replace FUNCTION F_NbInvalid RETURN NUMBER
      IS
        i_NbInvalid     NUMBER := 0;
     
        CURSOR c_InvalidItem IS
        SELECT OWNER,OBJECT_NAME,OBJECT_TYPE,STATUS
          FROM ALL_OBJECTS
         WHERE OBJECT_TYPE IN ('SYNONYM','TRIGGER','FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY','VIEW', 'MATERIALIZED VIEW')
           AND STATUS         = 'INVALID'
           AND OWNER          in ('SCHEMA_1','SCHEMA_2')
         ORDER BY  owner , OBJECT_ID DESC;
      BEGIN
     
        FOR cur IN c_InvalidItem LOOP
          i_NbInvalid := i_NbInvalid+1;
        END LOOP;
     
        RETURN i_NbInvalid;
     
      EXCEPTION
        WHEN OTHERS THEN RETURN -1;
      END F_NbInvalid;

    le but etant de lister les objects invalides afin de les recompiler.

    Connecté en SCHEMA_1, si j'appelle la fonction, les objets invalides de SCHEMA_2 ne sont pas pris en compte.
    Toujours connecté en SCHEMA_1, si j'execute seulement le select, les objets invalides de SCHEMA_2 sont bien selectionnés.
    Et le dernier test : connecté en SYS, la fonction prend bien en compte les objets de SCHEMA_2

    Il doit manquer un droit sur SCHEMA_1, mais je ne vois pas lequel.
    Donc si qqun a une idée ...

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Et si tu remplaces FROM ALL_OBJECTS par FROM DBA_OBJECTS, il se passe quoi?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    merci, ça fonctionne .
    Il a juste fallut que je donne les droits : GRANT SELECT ON DBA_OBJECTS TO SCHEMA_1;

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

Discussions similaires

  1. problème de variable dans une fonction
    Par K4trix dans le forum C
    Réponses: 9
    Dernier message: 06/07/2006, 09h38
  2. Réponses: 7
    Dernier message: 05/05/2006, 09h48
  3. Problème d'execution d'une fonction
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 17/03/2006, 11h37
  4. [PL SQL] Problème avec 'case' dans une fonction
    Par divail dans le forum Oracle
    Réponses: 14
    Dernier message: 13/03/2006, 15h50
  5. Réponses: 7
    Dernier message: 12/03/2006, 21h18

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