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

Interfaces de programmation Oracle Discussion :

Problème en perl avec requête sous Oracle : ORA-00942 ?


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut Problème en perl avec requête sous Oracle : ORA-00942 ?
    Bonjour à tous,

    Je travaille sous Unix, avec Perl 5.16.3, et une base de données Oracle dont j'ignore la version.
    Pour le travail, je dois faire un script en Perl qui interroge une base de données Oracle.
    Je fais donc un fichier de test de connexion et une requête select basique.

    Or là, la connexion se fait bien, mais avec pour la requête, j'al l'erreur suivante :
    ORA-00942 : Table ou vue inexistante (DBD ERROR: error possibly near <*> indicator
    Et il me met effectivement l'incator juste avant le nom de ma table.
    Le soucis, c'est que le nom de la table est correct.
    J'ai à priori tout essaye :
    - minuscule et majuscule
    - en mettant le nom du schema devant...

    Rien n'y fait.

    Voici le code Perl:
    Code Perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    my $sql_select = << "SQL";
        select *
        FROM STORE.STORE_RIU
    SQL
     
    my $prep = $bdd->prepare($sql_select) or die $bdd->errstr;
     
    $prep->execute;
     
    # affichage
    while (my($id, $role, $nom, $prenom) = $prep->fetchrow_array ) {
        print $id . '. ' . $role . "\n";
    }


    Si l'un de vous aurait une idée, ça serait sympa.

    Merci d'avance.
    Cordialement
    Dominique

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Pour la version de votre base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sys.v$version
    Vérifiez bien le nom de votre table tel qu'il est enregistré dans le dictionnaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select owner, table_name
      from all_tables
     where owner                = 'STORE'
       and upper(table_name) like '%RIU%';
    S'il y a des caractères minuscules / majuscules ou exotiques, il faut encadrer le nom de la table par des double quote.

    Le mieux étant de vous connecter avec un client SQL comme SQL Developer pour faire vos vérifications.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Merci de votre aide, mais
    - pour la requête pour avoir la version , j'ai le message d'erreur ORA-00942
    - pour la deuxième requête, ça m'a juste confirmé que j'avais le bon nom de table dans la requête.

    Cordialement
    Dominique

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Vous n'avez probablement pas le privilège de lecture sur cette table avec le compte que vous utilisez.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Vous n'avez probablement pas le privilège de lecture sur cette table avec le compte que vous utilisez.
    Impossible.
    J'ai le compte propriétaires qui permet de créer des tables.
    Et j'ai accès à cette table via TOADS.

    Cordialement
    Dominique

  6. #6
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sys.v$version ;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from v$version ;
    pour taper sur le synonyme public.

  7. #7
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sys.v$version ;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from v$version ;
    pour taper sur le synonyme public.
    ça a fonctionné, je suis sous Oracle 12c

  8. #8
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Est-ce que le user STORE existe bien? Exécute ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT username, account_status FROM dba_users ORDER BY username;
    Es-tu sur la bonne base et, si oui, es-tu en architecture PDB?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT name, cdb FROM v$database;
    Autre test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT owner, object_name, object_type FROM dba_objects WHERE UPPER(object_name) LIKE '%STORE%RIU%';
    Et, le dernier pour la route :

  9. #9
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Le script perl fonctionne ?
    Essaye avec un select * from dual dans ton script perl

  10. #10
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Le problème vient peut être du select *.
    As-tu essayé en donnant la liste des colonnes que tu veux consulter ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  11. #11
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Le problème vient peut être du select *.
    As-tu essayé en donnant la liste des colonnes que tu veux consulter ?
    Oui, pas mieux.

Discussions similaires

  1. Problème avec l'erreur Oracle ORA-19025
    Par bernidupont dans le forum SQL
    Réponses: 2
    Dernier message: 19/07/2011, 10h09
  2. Problème de requête sous Oracle
    Par tukutt dans le forum SGBD
    Réponses: 1
    Dernier message: 23/05/2008, 09h37
  3. problème d'exécution de requêtes sous oracle 9i
    Par loukili81 dans le forum Oracle
    Réponses: 3
    Dernier message: 12/07/2007, 11h24
  4. Problème avec NVL sous ORACLE
    Par tchoimars dans le forum SQL
    Réponses: 4
    Dernier message: 21/05/2007, 16h35
  5. problème de liens avec API sous VC++
    Par xavynfive dans le forum MFC
    Réponses: 7
    Dernier message: 26/08/2005, 12h01

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