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

Administration Oracle Discussion :

Problème gestion user


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut Problème gestion user
    Bonjour,

    Je dois migrer une application sur un serveur oracle, et je gère en ce moment les utilisateurs sur la base de données,

    Je voudrais donc créer ma base a partir d'un utilisateur A et ensuite me connecter avec une utilisateur B depuis mon applicatif, qui n'aurait que les SELECT, UPDATE, DELETE et INSERT de base.

    Seulement voilà, j'ai quelques problèmes :

    - je crée donc un utilisateur A, depuis lequel j'execute le script de création de base.
    - Je crée ensuite un role, puis un utilisateur B auquel j'affecte le role créé.
    - Je créé ensuite des synonymes pour l'utilisateur B sur toutes les tables de l'utilisateur A
    - Et enfin j'attribue la droit pour le rôle sur les tables que je veux.

    Ca donne :

    Avec l'utilisateur SYSTEM

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create user A identified by A
    	default tablespace A_DATA
    	quota unlimited on A_DATA
    	profile DEFAULT ;
    grant CONNECT to A;
    grant RESOURCE to A;
    Je me connecte avec l'utilisateur A

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE A.T_A (....)
    Reconnexion avec l'utilisateur SYSTEM

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create role RL_USER not identified;
    Création de l'utilisateur B

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create user B identified by B
    	default tablespace B_DATA
    	quota unlimited on B_DATA
    	profile DEFAULT ;
    grant CONNECT to B ;
    grant RESOURCE to B ;
    grant RL_USER to B ;
    Les synonymes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create synonym B.T_A for A.T_A;
    Et enfin les droits sur les tables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    GRANT DELETE ON A.t_A TO "RL_USER"
    GRANT INSERT ON A.t_A TO "RL_USER"
    GRANT SELECT ON A.t_A TO "RL_USER"
    GRANT UPDATE ON A.t_A TO "RL_USER"
    Après avoir fait cela, je test mon appli avec l'utilisateur A, tout est OK, en revanche avec l'utilisateur B, j'ai une formidable erreur "table or view doesn't exists" !

    Pourtant si je me connecte à sqlplus et que je tape

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from user_synonyms
    J'ai bien mes synonymes affichés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SYNONYM_NAME : T_A
    TABLE_OWNER : A
    TABLE_NAME : T_A
    ...
    Je séche vraiment la et je ne sais plus quoi essayer...

    Quelqu'un pourrait m'aider s'il vous plait ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Par défaut
    bonjour;
    tu as créé le role avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE role RL_USER NOT IDENTIFIED;
    puis tu as créé l'utilisateur avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE user B IDENTIFIED BY B
    	DEFAULT tablespace B_DATA
    	quota unlimited ON B_DATA
    	profile DEFAULT ;
    GRANT CONNECT TO B ;
    GRANT RESOURCE TO B ;
    GRANT RL_USER TO B ;
    tu lui as attribué le role RL_USER qui ne contient rien.
    puis tu allimente le role:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    GRANT DELETE ON A.t_A TO "RL_USER"
    GRANT INSERT ON A.t_A TO "RL_USER"
    GRANT SELECT ON A.t_A TO "RL_USER"
    GRANT UPDATE ON A.t_A TO "RL_USER"
    maintenant le role RL_USER contient les privilèges objets; si tu fais:
    ca devrait marcher

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Par défaut
    Je ne sais pas si j'ai répondus à ta question, si c'est pas le cas fais moi signe pour que je puisse t'aider.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut
    Bonjour,

    Merci pour ta réponse, j'essaie ca et je te dit

    EDIT : ca ne change rien,

    j'ai fait les GRANT avant d'affecter le ROLE à l'utilisateur, mais ca donne toujours la même chose...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 144
    Par défaut
    bonjour, commence par tester si tu peux afficher le contenu de la table du user A sans passer par un synonym:


  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut
    Bonjour,

    J'ai essayé

    en me connectant avec le user B et j'ai toujours l'indication :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-000942 : table or view doesn't exists.
    Est-il possible que les guillemets jouent un rôle quand je fait

    Alors que j'ai crée le role sans les guillement ?

    Merci.

Discussions similaires

  1. Problème gestion de collisions
    Par kaien dans le forum Physique
    Réponses: 6
    Dernier message: 31/01/2007, 15h31
  2. Problème gestion IOException
    Par matt8-5 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 03/11/2006, 15h07
  3. [C# 2.0] Problème gestion mémoire
    Par Stéphane-M dans le forum Windows Forms
    Réponses: 13
    Dernier message: 21/09/2006, 14h36
  4. Problème gestion actionListener pour JButton
    Par cedricbr dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/05/2006, 16h39
  5. Problème - Gestion des exceptions - MFC.
    Par Atomikx dans le forum MFC
    Réponses: 4
    Dernier message: 14/11/2005, 09h38

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