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

Oracle Discussion :

pourquoi ma ligne ne s'insere pas


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Points : 42
    Points
    42
    Par défaut pourquoi ma ligne ne s'insere pas
    bonjour tous le monde ,
    j'ai une table typeuser qui contient 2 colonnes
    "idtypeuser" de type number
    "libelle" de type blob
    lorsque j'asseye d'inserer une ligne dans ma table par la requête suivante

    insert into typeuser (idtypeuser,libelle) values (1,"test")
    le console m'affiche
    ORA-00984: Un nom de colonne n'est pas autorisÚ ici

    et pour la requête
    insert into typeuser (idtypeuser,libelle) values (1,'test')
    il me donne
    "ORA-01465: nombre hexadÚcimal non valide"

    est ce que quelqu'un a une idée pour ces problèmes
    merci d'avance

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Recherche INSERTION BLOB !
    Un blob n'est pas une chaine de caractère, c'est un Objet Binaire qui peut aller jusqu'à 4 Go

    Je vois pas trop à quoi ça correspond ce libellé dans typeuser ? A sa photo ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    Ca me parait normal :

    Dans le premier cas, oracle identifie ce qu'il y a entre double-côtes à un nom de champ ...

    Dans le 2è cas, tu tentes d'insérer une chaîne dans un champ de type blob (image, document word, musique, vidéo)

    Es-tu spur de vouloir utiliser ce type de champ (blob) ?

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Points : 42
    Points
    42
    Par défaut
    ne ca sert seulement a attribuer un titre par exemple a un utilisateur
    pour le type BLOB je l'ai changé par un type varchar mais rien de spécial toujours le mémé problème
    est ce que ça peut être un problème de privilège ?????

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    Si libelle est de type varchar

    et si tu fais ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into typeuser (idtypeuser,libelle) values (1,'test')
    C'est obligé , ca doit marcher ....

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Points : 42
    Points
    42
    Par défaut
    oui sa marche tu as raison
    mais pourquoi ce truc ne marche pas avec le type blob
    et puisque je dois utiliser le liblé de type blob forcément comment dois je procéder
    merci

  7. #7
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    McM a raison. On pourrait parfaitement t'expliquer mais il est important de fouiller un peu dans la doc au rayon : type de données. Tu t'apercevras que ce que tu fait est totalement inaproprié

    bon courage !


  9. #9
    Membre actif Avatar de DAB.cz
    Inscrit en
    Octobre 2006
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 221
    Points : 249
    Points
    249
    Par défaut
    déjà dit: un blob n'est pas une chaine de caractère

    un petit exemple:
    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
    create table t (b blob);
    insert into t (b) values (utl_raw.cast_to_raw ('abcde'));
    insert into t (b) values ('FF00');
     
    set serveroutput on
    declare
      r raw (100);
    begin
      for i in (select dbms_lob.getlength (b) l, b from t) loop
        r := i.b;  -- dbms_lob.substr
        dbms_output.put_line (to_char (i.l) ||': '|| r);
      end loop;
    end;
    /
     
    5: 6162636465
    2: FF00
    doc

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

Discussions similaires

  1. Pourquoi n'y à t'il pas de rubrique Windev sur www.developpez.com ?
    Par TicTacToe dans le forum Evolutions du club
    Réponses: 12
    Dernier message: 21/04/2006, 17h44
  2. Pourquoi rand()%N n'est il pas équiprobable?
    Par Pragmateek dans le forum C++
    Réponses: 12
    Dernier message: 22/03/2006, 23h37
  3. UNION ? des lignes qui ne sont pas prises...
    Par fred23195 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/12/2005, 14h50
  4. Réponses: 4
    Dernier message: 01/10/2005, 13h52

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