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

Accès aux données Discussion :

[C#] Pourquoi une erreur System sur la commande ExecuteReader ?


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Points : 66
    Points
    66
    Par défaut [C#] Pourquoi une erreur System sur la commande ExecuteReader ?
    Bonjour,

    OS : Windows XP SP1
    Vs .Net : Version 2002
    FrameWork : 1.0
    ODAC : 9i
    Je voudrais me connecter à une base de données ORACLE 9i, pour faire une simple requête SQL.
    Mais voilà, je n'arrive pas à récupérer l'information, la fonction ExecuteReader renvoie une exception de type systeme.

    Voici mon code :
    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
     
    using Oracle.DataAccess.Client;
     
    public class MyClass
    {
        public Myclass()
        {}
     
        public void test()
        {
                OracleConnection OConnexion = new OracleConnection();        
                OConnexion.ConnectionString = "Data Source=bd;User
     Id=toto;Password=pPass";
     
               OConnexion.Open();
               string sQuery = "SELECT empno FROM emp";
               OracleCommand cmd = new OracleCommand(sQuery,OConnexion);
               cmd.CommandType = CommandType.Text;
               OracleDataReader reader = cmd.ExecuteReader();
               reader.Read();
               //...
        }
    La connexion est faite sans problème, mais "cmd.ExecuteReader();" génére l'erreur suivante :
    Une exception non gérée du type 'Oracle.DataAccess.Client.OracleException' s'est produite dans oracle.dataaccess.dll

    Informations supplémentaires : Erreur système.
    Je ne sais plus quoi faire.
    J'ai testé avec MsQuery, Ms Access, SQL+ et je n'ai pas trop de PB.
    Merci d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Commences déjà par gérer ton exception en l'enveloppant dans un bloc try/catch , tu auras ainsi normalement un message plus explicite
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    Merci pour ton aide, celà m'a permis d'avancer.
    Voici l'erreur remontée dans le catch :
    Erreur : ORA-00942 : Table ou vue inexistante.
    Je ne comprend pas, car j'ai le schéma de la base et j'ai fait des test avec MsQuery et Access, et je vois bien le nom des tables.


    Merci pour ton aide

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    si c'est bien cette ligne qui lève l'exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OracleDataReader reader = cmd.ExecuteReader();
    et que la table emp existe bien avec cette casse
    Alors je ne vois qu'une blague de VS qui va chercher dans une db temporaire dont il a le secret et non dans la bonne Ta chaine de connection donnes bien la bonne Base de données à acceder
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Points : 66
    Points
    66
    Par défaut
    Je te remercie,

    En fait quand j'écris le code suivant j'ai l'erreur ORA-00942:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    OConnexion.Open();
    string sQuery = "SELECT * FROM RPS_SURV"; 
    OracleCommand cmd = new OracleCommand(sQuery,OConnexion);
    cmd.CommandType = CommandType.Text;
    try
    {
       OracleDataReader Odbcreader = cmd.ExecuteReader();
    }
    Celà veut dire en autre que le nom de ma table est fausse,
    Car je ne suis pas le propriétaire de la base, par défaut le code est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string sQuery = "SELECT * FROM MOI.RPS_SURV";
    Mais je ne suis pas le Owner de la base
    string sQuery = "SELECT * FROM RPS.RPS_SURV";
    Maintenant, plus d'erreur.

    Merci à toi.

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

Discussions similaires

  1. Une erreur incompréhensible sur un tableau
    Par renaud26 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/06/2010, 12h10
  2. Recherche de solution pour éviter une erreur 404 sur une img
    Par link256 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 11/12/2009, 11h11
  3. Renvoyer une erreur 204 sur un nom de domaine
    Par blueice dans le forum Apache
    Réponses: 2
    Dernier message: 12/02/2009, 16h30
  4. [VB.Net] Pourquoi ai-je une Erreur SQL sur un update ?
    Par ndsaerith dans le forum Accès aux données
    Réponses: 3
    Dernier message: 03/08/2006, 11h32
  5. Réponses: 8
    Dernier message: 13/09/2005, 21h05

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