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 :

Erreur "Table inexistante" alors que le table existe


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 22
    Points
    22
    Par défaut Erreur "Table inexistante" alors que le table existe
    Bonjour,

    J'ai un problème sur ma base Orcale 9i quand j'exécute un script qui crée une fonction. Oracle me dit PL/SQL: ORA-00942: Table ou vue inexistante alors que les tables existent. Quand je passe les requêtes du script une par une, il n'y a aucune erreur.
    Quelqu'un a t'il déjà eu ce problème ?

    Merci.

    Sylvain

  2. #2
    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
    la table est dans un autre schéma que l'utilisateur avec lequel tu es connecté surment ? Sinon, regarde si tu n'aurais pas un synonyme ou une vue qui pointerait sur une table que tu ne peux pas voir

  3. #3
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Quand tu passes les requêtes une par une, c'est bien avec le même compte Oracle que celui avec lequel tu lances ton script ?

    Généralement quand tu as ce message d'erreur, c'est :
    - soit que la table n'existe pas dans ton schéma (vérifie que le compte utilisé est bien le propriétaire de la table)
    - soit qu'elle existe dans un autre schéma, que tu as les droits de lecture dessus mais que tu as oublié de préfixer le nom de la table par le nom du schéma
    - soit qu'elle existe dans un autre schéma mais que tu n'as pas les droits de lecture dessus
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  4. #4
    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
    Citation Envoyé par scheu
    - soit qu'elle existe dans un autre schéma mais que tu n'as pas les droits de lecture dessus
    dans ce cas se serait l'erreur ORA-01031: insufficient privileges non ?

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Le script et les requêtes sont bien lancés avec le même utilisateur.
    J'ai effectivement 2 schémas mais la table est bien préfixé avec le schéma dans la requête et le script.
    L'utilisateur connecté à les droits en lecture sur la table du deuxième schéma.

    Je suis pas du tout expert mais si une requête simple fonctionne, elle devrait aussi fonctionner dans un script non ?

  6. #6
    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
    ça dépend. Le PL/SQL ne tiens pas compte des rôles. Donc si tu as autorisé SELECT ANY TABLE, ça ne suffit pas, il faut faire un GRANT SELECT

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    D'après Toad j'ai la ligne suivante pour la table REUNION_OP, LEGIS étant le user avec lequel je suis connecté

    GRANT SELECT ON REUNION_OP TO LEGIS;

  8. #8
    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
    que donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select owner from dba_tables where table_name = 'REUNION_OP'

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Le résultat de la requête est TRIBUN

  10. #10
    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
    tu dois donc te connecter TRIBUN et faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT ON REUNION_OP TO LEGIS;

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Je suis d'accord avec toi. J'ai reproduit le problème sur ma base en enlevant le GRANT SELECT. D'après le DBA du client ça ne fonctionne pas mais je pense que je vais aller voir par moi même pour être sûr.

    Merci pour l'aide

    Sylvain

  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
    en effet, à ce stade vaut mieux aller voir... ça sent le gars qui se connecte pas comme il faut

    enfin, si même le DBA ne s'en sort pas ça risque d'être épique

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    C'était bien ça, j'ai fait le GRANT SELECT moi même et ça fonctionne !!

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    BONJOUR
    j'ai le mem problème presque, je travaille avec oracle et je veux créer une base de données. j'ai crée l'utilisateur, le Grant mais quand je crée la base j'ai mis
    pa de privilège comme message s'affiche c'est quoi la syntaxe svp.???

  15. #15
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Pour 080983,
    C'est quoi le message exacte que tu as ?. On dirait que tu as oublié de donner
    les droits ?

    LBO72.

  16. #16
    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
    Citation Envoyé par 080983 Voir le message
    pa de privilège comme message s'affiche c'est quoi la syntaxe svp.???
    pas de privilège = tu dois être connecté SYSDBA... ça sert à rien de chercher plus loin

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    salut,
    j'ai mis
    il m'affiche privilège insuffisants
    c'est quoi la procédure qu'il fo l'utiliser pour crer une base.
    Merci

  18. #18
    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
    je viens de te répondre

    connecte toi avec le user SYS et fais une recherche sur le forum

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    si je suis connecté avec le user sys

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    je c que c'est la meme chose sys ou system
    je sui connectée avec system et manager

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/08/2007, 11h32
  2. no such table: carte alors que cette table existe
    Par Bubble724 dans le forum SQLite
    Réponses: 3
    Dernier message: 13/07/2007, 22h04
  3. [MySQL] réponse vide alors que le champs existe dans la table, sans retour d'erreur
    Par ben_skywalker dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/02/2007, 14h20
  4. Réponses: 12
    Dernier message: 21/01/2006, 19h27

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