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

VB 6 et antérieur Discussion :

[VB6 et ORACLE] identificateur de longueur nulle interdit


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut [VB6 et ORACLE] identificateur de longueur nulle interdit
    Bonjour,

    Je fais une requete INSERT de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     G_Oradatabase.executesql ("INSERT INTO VUE_CARNETGROUPE VALUES ('10', '10', "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "")")
    et Oracle me dit :
    ERROR:
    ORA-01741: identificateur de longueur nulle interdit

    Pourtant mes 2 seuls champs a avoir comme contrainte NOT NULL sont les 2 premiers et ils sont remplis.

    Si qq a deja eu le probleme, merci de me renseigner

  2. #2
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Dnas ta requête, tu mets 10 entre simples quotes, et après, tu mets des doubles-quotes, qui doivent interférer avec les délimiteurs de la chaine de caractères qui contient ta requête. Mais des simlpes quotes partout.
    Et mêm, si tu enlèves tous les "vides" de ta requête, ça marcherait aussi bien, non?

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO VUE_CARNETGROUPE VALUES ('10', '10', , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,)
    J'ai l'erreur : ORA-00936: Expression absente

    et en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO VUE_CARNETGROUPE VALUES ('10', '10', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')
    ORA-01779: Impossible modifier colonne correspondant à une table non protégée par clé


  4. #4
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Pour le premier essai, je pensais à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO VUE_CARNETGROUPE(NomCol1, NomCol2) VALUES ('10', '10')
    Et je ne sais jamais si Oracle insiste pour avoir son ; à la fin de la requête?

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    Quand je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO VUE_CARNETGROUPE(ADR_CODE, B_ADR_CODE) VALUES ('10', '10');
    ORA-01779: Impossible modifier colonne correspondant à une table non protégée par clé

    Et non, Oracle n'insiste pas pour avoir un ; a la fin

  6. #6
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Juste pour vérifier un truc, peux-tu créer ta requête dans une variable de type String, et l'afficher quelque part avant de lancer son exécution?

    Heyyy! Tu as changé un truc dans ton message précédent, non?

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    ah oui dsl, j'ai re edité mon message car je n'avais pas completement pris en compte ce que tu avais dit


    disons que je met une variable apelé sql en string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "INSERT INTO VUE_CARNETGROUPE VALUES ('" & Code & "', '" & Code & "', "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "")"
    Il me sort si je l'affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO VUE_CARNETGROUPE VALUES ('10', '10', ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ", ")

  8. #8
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Et si tu passes "à la main" cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO VUE_CARNETGROUPE(ADR_CODE, B_ADR_CODE) VALUES ('10', '10')
    , il se passe quoi? Parce que je n'ai jamais vu ce message
    ORA-01779: Impossible modifier colonne correspondant à une table non protégée par clé

  9. #9
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    et dans ta requette est que tu enregistre aussi le champs correspondant a la clé ?? Car moi j'aurais aussi opter pour ce type de requette, mais en voyant ton message d'erreur il me semble que tu ne rentre pas la clé.

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    Il me met l'erreur que tu n'as jamais vu en signalant l'erreur sur ADR_CODE
    ADR_CODE est declaré comme ça : ADR_CODE NOT NULL NUMBER(15) donc je ne sais pas..

  11. #11
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Mouais...
    Et tu n'as pas de cle définie sur cette table?
    Et au fait, si tu enlèves les quotes autour de tes nombres...?

  12. #12
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    Citation Envoyé par sovo
    et dans ta requette est que tu enregistre aussi le champs correspondant a la clé ?? Car moi j'aurais aussi opter pour ce type de requette, mais en voyant ton message d'erreur il me semble que tu ne rentre pas la clé.
    En fait ce n'est pas moi qui est créé cette table et je pensais que les clé dans oracle était les champs signalés NOT NULL et j'ai essayé par exemple en mettant '10' dans chaque colonne, mais ca me donne tjs la même erreur

  13. #13
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    Citation Envoyé par Megaxel
    Mouais...
    Et tu n'as pas de cle définie sur cette table?
    Et au fait, si tu enlèves les quotes autour de tes nombres...?
    J'avais essayé deja mais sans succés

  14. #14
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    ca veut dire que ADR_CODE n'est pas ta clé, je suppose que B_ADR_CODE ne l'ai pas aussi. Je n'ai vraiment jamais utiliser ORACLE, mais s'il utilise la meme philisophi que SQL Server ou ACCESS (ce que je croit bien) alors dans ta requette tu doit aussi renseigner la cle de ton champs, sinon je craint fort que ca ne puisse marche.

  15. #15
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    oui mais si j'ai mis une valeur dans chaque champ, ma clé aurait forcement prit une valeur

  16. #16
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Oui, tu dois avoir une clef primaire sur ta table.
    Tu peux voir ton schéma de base? Avec Toad, ou un autre outil du même genre? Ou alors, tu as le script de création de la table?

  17. #17
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    oui et tu cherche un champs qui aura ceci "Foreignkey ou PrymaryKey ou un truc avec key si tu le trouve alors c'est la cle de ton champs et tu devras aussi le renseigner.

  18. #18
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 72
    Par défaut
    le fait que ce soit une vue change surement qqch non?

    je ne crois pas qu'il y ai besoin de clé dans une vue, je me trompe?


    Dans le script de connexion, je ne vois aucune clé en tout cas

Discussions similaires

  1. [VB6] RecordSet, Oracle, requête sur plusieurs Tables
    Par pier* dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 13/04/2006, 10h19
  2. Changer (Null interdit) sous Acces?
    Par petozak dans le forum Access
    Réponses: 6
    Dernier message: 27/03/2006, 12h57
  3. Identificateur non déclaré : 'Null'
    Par Mofid04 dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2006, 11h47
  4. [VB6 et Oracle] Espace dans Oracle
    Par malhivertman1 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/02/2006, 16h02
  5. [Oracle] identificateur de longueur nulle interdit - help me
    Par gregb dans le forum Bases de données
    Réponses: 1
    Dernier message: 03/07/2005, 18h35

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