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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 10
    Points
    10
    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
    Points : 3 798
    Points
    3 798
    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
    Points : 3 597
    Points
    3 597
    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 à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 10
    Points
    10
    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
    Points : 3 798
    Points
    3 798
    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
    Points : 3 597
    Points
    3 597
    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 à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 10
    Points
    10
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Avec Oracle 9 ou 10, cela peut se faire avec un LOGON TRIGGER.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Tu vas dire que j'abuse si je te demande une petite aide sur le sujet ?

  10. #10
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Oui, parce que je n'ai pas utilisé cette fonctionnalité.

    Mais il y a un exemple là: http://oracle.developpez.com/faq/?page=3#afterlogon

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Le trigger est bien créé .. mais ne fonctionne pas ..... lorsque je me connecte sous Sql Plus par exemple ..... je suis obligé de me caler sur le bon schema, alors qu'il devrait le faire de suite apres mon logon ....

    des idées ?

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    et dans glogin.sql, le fichier de paramètre de SQL*Plus ?

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Rien de particulier dans ce fichier ....

    Bon je vais faire un petit resumé de mon souci ....

    je souhaite pouvoir me connecter a un schema avec un user, depuis SQl plus ou tout autre objet Vb, DAO, ADO, etc ..... sans a chaque fois repréciser que c'est tel schema que je souhaite utiliser ....

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Bon je me suis resolu a créer des synonymes et ca fonctionne parfaitement ....

    Merci a tous pour votre aide precieuse ....

+ 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