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 :

Droits insuffisants sur creation d'une vue


Sujet :

Oracle

  1. #1
    Scorpi0
    Invité(e)
    Par défaut Droits insuffisants sur creation d'une vue
    Bonjour,

    Me voici confronté à un problème dont j'ai peur qu'il n'y aie pas de solutions :

    J'ai 3 schémas, appelons les Slave, Master, et SuperMaster.

    Je crée une vue sur Slave, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create view view1 as select 1 as col from dual.
    Je crée une vue sur Master :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create view view2 as select * from slave.view1
    Jusque là tout vas bien.
    Par contre lors de la création sur SuperMaster :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create view view3 as select * from master.view2
    J'ai une erreur ORA-01031: insufficient privileges.
    Autant dire que j'ai trifouillé les privilèges dans tout les sens, que j'ai granté tout ce que j'ai pu, que j'ai cherché un peu partout sur la toile, nada !

    Donc je m'en remet à vous, est-ce possible depuis mon schéma superMaster de créer une view qui référence une view d'un autre schéma, elle même référençant une view d'un schéma encore autre ?

    Merci !

  2. #2
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour,

    quelle est ta version Oracle ???

    Sous 11G :

    avec ces commandes

    NOTE

    le

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GRANT SELECT ON v_slave TO master WITH GRANT OPTION ;

    Code sql : 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
     
     
     
    > grant create session,create view,create table  to slave;
     
    Grant succeeded.
     
     
    > grant create session,create view,create table  to master;
     
    Grant succeeded.
     
     
    > grant create session,create view,create table  to s_master;
     
    Grant succeeded.
     
     
     
    S_MASTER@THE_BASE> create table s_master.t_s_master (col1 varchaR2(20));
     
    Table created.
     
    S_MASTER@THE_BASE> connect master/master@recette_histo
    Connected.
    MASTER@THE_BASE> create table master.t_master (col1 varchaR2(20));
     
    Table created.
     
    MASTER@THE_BASE> connect slave/slave@recette_histo
    Connected.
    SLAVE@THE_BASE> create table slave.t_slave (col1 varchaR2(20));
     
    Table created.
     
    SLAVE@THE_BASE> grant select on t_slave to s_master;
     
    Grant succeeded.
     
    SLAVE@THE_BASE> grant select on t_slave to master;
     
    Grant succeeded.
     
    SLAVE@THE_BASE> connect master/master@recette_histo
    Connected.
    MASTER@THE_BASE> connect slave/slave@recette_histo
    Connected.
    SLAVE@THE_BASE> create view v_slave as select * from t_slave;
     
    View created.
     
    SLAVE@THE_BASE>  grant select on v_slave to master with grant option ;
     
    Grant succeeded.
     
    SLAVE@THE_BASE> connect master/master@recette_histo
    Connected.
    MASTER@THE_BASE> create view v_master as select * from slave.v_slave;
     
    View created.
     
     
    MASTER@THE_BASE> grant select on v_master to s_master;
     
    Grant succeeded.
     
     
     
    > connect s_master/s_master@recette_histo
    Connected.
    S_MASTER@THE_BASE> create view v_master as select * from master.v_master;
     
    View created.
     
    S_MASTER@THE_BASE> select * from v_master;
     
    no rows selected
     
    S_MASTER@THE_BASE>

  3. #3
    Scorpi0
    Invité(e)
    Par défaut
    You rock !
    Le "WITH GRANT OPTION ;" était la solution à mon problème, merci !

    PS : j'étais en 9i, mais ça marche aussi.

Discussions similaires

  1. creation d'une vue
    Par yosraisi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/03/2008, 10h41
  2. creation d'une vue avec tri special
    Par nicoda dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/02/2008, 14h20
  3. Creation D'une Vue En Dehors De Sql Enterprise Manager
    Par TITI562 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/07/2007, 15h58
  4. [vues] creation d'une vue combinant 2 colonnes de la table
    Par gloogloo dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 29/06/2005, 14h16
  5. Creation d'une vue dynamique ?
    Par Simeans2004 dans le forum Administration
    Réponses: 5
    Dernier message: 01/07/2004, 15h25

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