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

ASP.NET Discussion :

Problème Oracle [ora-01036 illegal variable name/number]


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut Problème Oracle [ora-01036 illegal variable name/number]
    Bonjour,

    J'effectue une requête relativement simple sur une base de données Oracle. J'obtiens l'erreur : ora-01036 illegal variable name/number mais je n'arrive pas à comprendre pourquoi. Pouvez vous m'aider ?

    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
     
        String s;
        OracleConnection strConn;
        String strConnection;
        OracleCommand oracmd;
        strConnection = ConfigurationManager.ConnectionStrings["mabase"].ToString();
            strConn = new OracleConnection(strConnection);
    try
            {
                strConn.Open();
                oracmd = strConn.CreateCommand();
                oracmd.Connection = strConn;
                oracmd.CommandType = CommandType.Text;
                oracmd.CommandText = "select count(*) from SERVICE";
                s=oracmd.ExecuteScalar().ToString();            
                strConn.Close();
            }
            catch (Exception ex)
            {
                s=ex.Message;
            }
    Merci

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    A mon avis t'as pas le droit d'utiliser le mont TABLE dans ta réquête.
    C'est surement un mot clé réservé

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Excuse moi, en fait dans ma requete j'ai voulu mettre un exemple. Le nom de ma table, ça n'est pas TABLE mais SERVICE...
    (Le nom de la connectionstring est aussi différent de celui fourni dans l'exemple. Le reste du code est identique à celui de mon programme).

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Bah c'est peut etre le mot service.
    Faut éviter ce genre de noms

  5. #5
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Apparement, il y aurait des problèmes avec les providers pour Oracle !! J'ai vu ça à l'adresse suivante qui propose aussi une solution :
    http://www.devnewsgroups.net/group/m...opic14841.aspx

    Dans le même temps, j'ai déjà bossé sur des projets .NET utilisant des bases Oracle et je ne me rappelle pas de ce problème !!! Nous on utilisait des procédures stockées pour tout et tout marchait très bien !!!

    Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    OracleConnection pConnection=new OracleConnection(Machainedeconnexion);
    OracleCommand  selectCommand = new OracleCommand();
    selectCommand.CommandText = "MAPROCEDURESTOCKEE";
    selectCommand.CommandType = CommandType.StoredProcedure; 
    selectCommand.Connection = pConnection;
     
    selectCommand.Parameters.Add("p_RETOURCURSOR",OracleType.Cursor).Direction = ParameterDirection.Output;
     
    OracleParameter param = new OracleParameter("p_CRITERE",OracleType.VarChar); 
    param.Direction = ParameterDirection.Input;
    param.Value = "unevaleur";
    selectCommand.Parameters.Add(param);
    Bon courage

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    lutecefalco, je ne pense pas que ce soit ça qui pose problème vu que j'ai essayé avec d'autres tables (qui ont d'autres noms moins ambigüe : manager, personnel, etc) et que j'avais la même erreur.

    ostenhard, merci beaucoup pour ta réponse, elle est très intéressante et je pense qu'elle va peut être solutionner mon problème. Je la teste demain !

    Ce qui est très bizarre c'est que si par exemple je fais un insert au lieu d'un select, ma requête fonctionne sans problèmes. Et quand je teste mon select directement sur ma base oracle (avec sqlplus) elle me renvoie un résultat !

    Merci à vous deux en tout cas !

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

Discussions similaires

  1. [11g] Problème Oracle ORA-12899
    Par hamza.rezgui dans le forum Administration
    Réponses: 6
    Dernier message: 27/01/2014, 16h11
  2. ORA-01036: illegal variable name/number
    Par yupa dans le forum SQL
    Réponses: 1
    Dernier message: 01/02/2008, 12h15
  3. [ORACLE 8i] ORA-01036 / oci bind by name pour string
    Par mrfred dans le forum Interfaces de programmation
    Réponses: 7
    Dernier message: 02/08/2007, 12h11
  4. Erreur oracle : ORA-01036
    Par freestyler1982 dans le forum Oracle
    Réponses: 1
    Dernier message: 14/11/2006, 10h29
  5. [Oracle Lite 10g]ORA-00957: duplicate column name
    Par maredami dans le forum Oracle
    Réponses: 4
    Dernier message: 02/11/2005, 13h13

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