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

Langage SQL Discussion :

[débutante] problème d'insertion caractère '\'


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 26
    Points
    26
    Par défaut [débutante] problème d'insertion caractère '\'
    Bonjour,

    voila, je récupère le nom d'un fichier (nom du type : mon_rep\mon_fichier) à partir d'un fichier xml,
    seulement quand je veux l'insérer dans la table (la donnée est de type text), j'ai une erreur qui se déclenche car le caractère '\' n'est pas accepté...

    qu'est ce que je peux faire pour le garder?

    rq: j'ai tenté de l'insérer avec des simple cote, mais dans ce cas, la donnée est insérée mais le caratere \ est supprimé!

    merci pour votre aide!

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Le caractère \ est sans doute considéré comme un caractère d'échapement.
    Astu essayé de le doubler (toujours entre simple quotes) ?

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Difiicile de vous aider sans savoir ça :
    quel est votre SGBD ?
    quel est votre message d'erreur ?
    quelle est la requête elle-même ?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 26
    Points
    26
    Par défaut
    re bonjour,

    je travaille sur postgreSQL.
    je lance mes requetes a partir d'un fichier python pour remplir ma base de données.

    je recupere les données sur un fichier xml (utilisation de dom sous python)
    et je veux inserer la valeur recuperer dans ma table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    name=str(node.getAttribute('nom_fichier')))
    # ma variable name = mon_rep\mon_fichier
     
    lancement_requete("insert into ma_table values(%s,'%s')"%(id,name))
    dans ce cas la, je n'ai pas de message d'erreur mais '\' disparait et j'ai alors dans ma table name=monrepmonfichier

    voila, j'espere etre clair...

    merci pour votre aide!

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 874
    Points : 53 048
    Points
    53 048
    Billets dans le blog
    6
    Par défaut
    Ce n'est pas un problème de SQL !

    Demo :

    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_SLASH_SLH
    (SLH_ID INT NOT NULL IDENTITY PRIMARY KEY,
     SLH_DATA   VARCHAR(32))
     
    INSERT INTO T_SLASH_SLH VALUES ('\')
    INSERT INTO T_SLASH_SLH VALUES ('\\')
    INSERT INTO T_SLASH_SLH VALUES ('\n')
    INSERT INTO T_SLASH_SLH VALUES ('\t')
     
    SELECT * FROM T_SLASH_SLH
     
    SLH_ID      SLH_DATA                         
    ----------- -------------------------------- 
    1           \
    2           \\
    3           \n
    4           \t
    C'est donc un problème de code client !

    Postez dans le bon forum !

    A +

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 26
    Points
    26
    Par défaut
    oki désolé...

    bon... au final, j'ai modifiée ma donnée name en python :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    name=("\\\\").join(str(node.getAttribute('name')).split("\\"))
    # on a alors : name = mon_rep\\mon_fichier
    et donc je peux l'inserer correctement dans ma table!

    c pas tres beau, mais ca marche!

    et bon la, c clair je suis completement hors sujet! encore désolé!

    bonne journée

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

Discussions similaires

  1. [Débutant]Problème chaine de caractères
    Par olivier1209 dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 04/05/2007, 10h10
  2. Débutant: problème d'insertion dans une BD access
    Par nnj dans le forum Accès aux données
    Réponses: 1
    Dernier message: 04/10/2006, 09h49
  3. Problème d'INSERT avec caractères accentués: mysql 5.0
    Par yizashi dans le forum Installation
    Réponses: 2
    Dernier message: 05/04/2006, 10h26
  4. Problème d'insertion caractères accentués
    Par yuri dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 25/10/2005, 17h00
  5. Réponses: 5
    Dernier message: 04/09/2005, 12h34

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