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

MS SQL Server Discussion :

[SQL-Serv05] Ajout d'espaces en fin de champs


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut [SQL-Serv05] Ajout d'espaces en fin de champs
    Salut,

    J'ai effectué des recherches sur ce problème, il a déjà été rencontré mais je n'ai pas trouvé de réponses.

    En fait, lorsque je fait un Insert dans ma base, il ajoute automatiquement des espaces pour remplir la taille définie au ce champs :

    varchar(128)

    Mon texte fait 8 caractères, il me met 120 caractères d'espacement derrière, c'est assez embêtant, si quelqu'un sait comment régler le problème.

    Merci

  2. #2
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    utilises des nvarchar

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Par défaut
    je n'ai jamais rencontré ce problème mais tu peux utiliser rtrim(field) pour enlever les espaces blanc. Comme à mon avis ce n’est pas très normal pourrais tu nous dire comment tu fais l'insert ou le select?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    J'ai essayé tout les type de variable (char, nvarchar, varchar ...) le problème se pose à chaque fois.

    En fait, j'utilise une connection OLE DB depuis un prog .net, ce programme utilisait une base access, j'ai simplement modifié mon connection String pour utiliser le server MSSQL, ça fonctionne très bien, sauf pour ce point ...

    Sinon, faire un rtrim(field), c'est dans mon code c'est ça ? Pcq j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monstring = monstring.Trim();
    mais là non plus aucun changements, je crois que ça vient du server.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Par défaut
    Ok, j'ai compris ce sont des donnée que tu as importé d'access?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Par défaut
    si c'est le cas. Faut que tu fasses un update massif sur tous tes champs varchar
    update table
    set champ = ltrim(rtrim(champ)),
    champ2 = ltrim(rtrim(champ2))
    ………


    Ca devrait résoudre ton prob

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    Non, les données ne viennent pas d'access, j'ai simplement recréé la structure qui existait sous Access dans SQL Server, (vide, sans données).

    Ensuite je l'ai utilisé comme j'utilisais avec Access, j'ai donc fait des Insert, et ceux-ci posent problème donc.

    J'utilise OLE DB en .net pour me connecter, mes tableAdaptater et le reste n'ont pas été modifiés (c'est l'avantage de travailler avec une connection string logiquement, je change juste ça et ça passe)

    Est-ce que le fait d'utiliser OLE DB ne pose pas de problème ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    En fait je souhaite proposer plusieurs bases de données au sein de mon logiciel, le choix pourra être fait via une fenêtre de configuration.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Par défaut
    Si tu es en varchar dans les champs de ta table et que tu n'as pas importé les données d'Access. Je ne sais d’où pourrait venir ton problème sauf de ton code. Mais tu peux systématiquement ajouter des commandes de trim() dans ton code malgré que ce n'est pas la meilleur solution.

    Pour rendre mon logiciel compatible avec plusieurs sources de données, j’ai écris une interface commune pour toutes les db, et une implémentation pour chaque type de base de donnée car j’ai souvent vu de petites nuance qui empoisonne vite la vie. Ce qui me permet de bien différencier les couches.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    J'ai déjà essayé de faire des trim avant l'insert directement dans le code mais ça ne marche pas.

    C'est pour ça que je pense que ça pourrait venir de la transaction en OLE DB ou du serveur directement.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Par défaut
    je ne sais pas. Sorry de ne pas pouvoir plus t'aider

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/06/2014, 11h15
  2. Ajouter des espaces en fin de ligne.
    Par pressdell dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 11/10/2012, 12h57
  3. SQL SERVER 2000 - osql espaces en fin d'enregistrement
    Par lcloatre85 dans le forum Développement
    Réponses: 0
    Dernier message: 09/07/2012, 17h22
  4. Ajouter des espaces à la fin d'une chaine de caracteres
    Par kodo dans le forum Général Java
    Réponses: 1
    Dernier message: 22/04/2011, 11h25
  5. Espace en fin de champs
    Par All Jinx dans le forum Access
    Réponses: 2
    Dernier message: 03/01/2007, 14h39

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