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 :

ORA-01036: numéro/nom de variable interdit


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut ORA-01036: numéro/nom de variable interdit
    Bonjour,

    J'obtiens cette erreur lors de l'execution d'un requete delete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-01036: numéro/nom de variable interdit
    Qu'est ce que cela signifie???
    J'ai regardé sur google mais il ne me trouve que 2 liens fr qui ne m'aide guere

  2. #2
    Membre averti Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Points : 433
    Points
    433
    Par défaut
    Peut-on avoir la requête ?

    Sinon regarde ici

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $ oerr ora 1036
    01036, 00000, "illegal variable name/number"
    // *Cause: Unable to find bind context on user side
    // *Action: Make sure that the variable being bound is in the sql statement.
    Le code client essaie de lier une valeur à une bind variable dans une instruction SQL et la bind variable en question n'est pas référencée dans le code SQL. Avec Oracle les bind variables en SQL sont toujours préfixées par ":" (et non par "@" comme dans SQL Server).

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM proact WHERE (projet = :original_projet) AND (projet NOT IN (SELECT projet FROM cra))
    Ma table proact a 2 champs :
    nom_projet | nom_activite

    Ma table cra :
    id | userid |date | nom_projet | nom_activite|

    Pour un projet, il peux y avoir plusieurs activites.

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Oui, j'ai bien remplacé tout mes @ ^^

  6. #6
    Membre averti Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Points : 433
    Points
    433
    Par défaut
    Citation Envoyé par cnguyen
    Voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM proact WHERE (projet = :original_projet) AND (projet NOT IN (SELECT projet FROM cra))
    Je ne répond pas à ta question, mais pense aux alias sinon il peut y avoir ambiguité sur "projet"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM proact p1 WHERE (p1.projet = :original_projet) AND (p1.projet NOT IN (SELECT c1.projet FROM cra c1))

  7. #7
    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
    Vérifiez que le type de la bind variable est compatible avec celui de la colonne.

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Le systeme des alias ne marche pas
    Il me mets toujours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-01036: numéro/nom de variable interdit
    Je vais devenir ffouuuuu

  9. #9
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut juste pour voir...
    Y'a un truc louche dans ta table CRA, c'est le champ "DATE" qui est un mot reservé Oracle. Je sais normalement ça ne devrais pas influencer ta requête mais bon... je te proposerais 2 essais juste pour faire avancer ton analyse:

    - Essaye d'exécuter la requete dans un sqlplus classique sans passer par une variable bind

    - Essaye d'exécuter la meme requête avec une copie de ta table CRA qui n'aurait pas de champ nommé "DATE"

    bon courage...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    J'ai le même problème...

    Apparemment c'est l'erreur générique qui dit pas grand chose et qui peut venir d'une multitude de truc

    Pour ma requête :

    - J'ai essayé ma requête sous SQL Navigator et ça marche très bien.
    - Mes paramètres ont bien des ":"

    La solution que j'ai adoptée (et qui me plaît moyennement...) c'est de remplacer mes paramètres par la valeurs des variables directelment dans le code...

    En attendant de trouver une explication rationelle
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut J'ai eu le même problème
    Bonjour à tous,
    Cela s'est produit pour moi lorsque je liais une variable et qu'elle n'était pas dans la requête en cours.
    cordialement,
    junijo

  12. #12
    Membre régulier Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Points : 79
    Points
    79
    Par défaut
    J'ai eu le même problème : Il faut ajouter les paramètres Oracle dans l'ordre de la requête...

Discussions similaires

  1. Numéro/Nom de variable interdit
    Par juju1988 dans le forum Langage
    Réponses: 11
    Dernier message: 25/09/2013, 15h16
  2. ORA-01036 : numéro/nom de variable interdit
    Par Crowww dans le forum VB.NET
    Réponses: 13
    Dernier message: 28/05/2013, 12h11
  3. ORA-01036:numéro/nom de variable interdit
    Par ahmedige dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/05/2011, 16h18
  4. Réponses: 10
    Dernier message: 11/05/2011, 18h14
  5. Erreur ORA-01036 - numéro/nom de variable interdit
    Par Daikyo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/06/2008, 02h25

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