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 :

Nouveau User sur un shema existant


Sujet :

Oracle

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Par défaut Nouveau User sur un shema existant
    Bonjour,

    Je souhaiterais effectuer l'operation suivante : creation d'un user avec des acces en lecture (enfin, a la limite peu importe) sur un schema existant ... en fait mon pb se situe a ce niveau la : depuis SQL je suis oblige d'utiliser la syntaxe suivante 'select * from "nom_schema"."nom_table"', alors que je souhaiterais pouvoir utiliser la syntaxe 'select * from nom_table'

    Si quelqu'un a une idée, cela m'aidera grandement !!!

    Merci.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    Bonjour ,

    Pour donner la permission de lecture sur une table :

    grant read on table to user ;

    Pour pouvoir attaquer une table sans mettre le nom du schéma il suffit de créer un synonyme :

    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
    SQL> grant select on ps_job to test ;
     
    Autorisation de privilèges (GRANT) acceptée.
     
    SQL> conn test/test 
    Connecté.
    SQL> select count (*) from ps_job ;
    select count (*) from ps_job
                          *
    ERREUR à la ligne 1 :
    ORA-00942: Table ou vue inexistante
     
     
    SQL> select count (*) from sysadm.ps_job ;
     
      COUNT(*)
    ----------
           259
     
    SQL> create synonym ps_job for sysadm.ps_job ;
     
    Synonyme créé.
     
    SQL> select count (*) from ps_job ;
     
      COUNT(*)
    ----------
           259
     
    SQL>

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Il faut créer un synonyme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE SYNONYM <synonyme> FOR <schema>.<table>;
    ou changer le schéma par défaut avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SESSION SET CURRENT_SCHEMA=<schema>;

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Par défaut
    Quelle rapidite .....

    Avec mes remerciements ....vraiment

    Comment modifier cet "ALTER SESSION" pour l'integrer dans un code VB par exemple, qui comporte plusieurs requetes SQL ?

    derniere petite question : apparement, mon client SQL PLUS est "case sensitive" sur les noms des tables par exemple ... comment eviter cet "inconvénient" ?

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    A mon avis il faut éviter le alter session et se servir des synonymes.

    Pour éviter le case sensitive, il suffit tout simplement de ne pas créer les tables entre double-quote et de ne pas les appeller avec les double-quote

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Comment modifier cet "ALTER SESSION" pour l'integrer dans un code VB par exemple, qui comporte plusieurs requetes SQL ?
    C'est n'est qu'une commande SQL qu'on peut mettre en début de connexion à la base de données par exemple si on est sûr de toujours travailler dans le même schéma.

    derniere petite question : apparement, mon client SQL PLUS est "case sensitive" sur les noms des tables par exemple ... comment eviter cet "inconvénient"
    Bizarre ... peut-être que vos tables ont été créées avec le nom entres " " ?
    Le dictionnaire de la base stocke les noms en majuscule mais ne fait pas de différence minuscules/majuscules en SQL sauf si on utilise les " " en créant les objets.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Par défaut
    Merci pour toutes ces reponses ....

    J'ai resolu mon pb de " " ....

    Est-il possible de preciser une bonne fois pour toute le schema par defaut "associé" a un user ????

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Avec Oracle 9 ou 10, cela peut se faire avec un LOGON TRIGGER.

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

Discussions similaires

  1. Remapper un user sur un nouveau login
    Par agdid04 dans le forum Administration
    Réponses: 6
    Dernier message: 08/02/2013, 12h10
  2. Créer un Nouveau User System (SYSDBA)....
    Par silmortes dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 27/06/2005, 12h45
  3. Un nouveau venu sur ce forum privé
    Par Anarazel dans le forum Sepi
    Réponses: 2
    Dernier message: 31/03/2005, 13h05
  4. [Ada] Récupérer un pointeur sur un objet existant
    Par vincnet500 dans le forum Ada
    Réponses: 1
    Dernier message: 14/11/2004, 14h26
  5. Alter user sur une base distante
    Par bilo2000 dans le forum Administration
    Réponses: 13
    Dernier message: 09/03/2004, 17h18

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