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 :

problème d'accents lors d'insert


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut problème d'accents lors d'insert
    Bonjour,

    J'ai un problème lors d'insert dans une table SQL avec des voyelles en majuscules avec accent.
    les données proviennent d'un fichier texte (.csv) que je lis séquentiellement et que je dois mettre dans une table SQL. Les données sont en majuscules pour la plupart et certaines contiennent des voyelles majuscules avec accent (BRÉSIL par exemple). Une fois inséré dans ma table j'obtiens BRÉSIL.
    Je pense qu'il s'agit d'un paramétrage au niveau de SQL Serveur ou de la base mais je ne sais pas comment faire.
    Peut-être y a-t-il une solution par requête juste avant de faire mes INSERT afin de ne pas modifier le paramétrage de la base ?
    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    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 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    Non, il ne s'agit JAMAIS d'un problème de paramétrage de SQL Server mais de l'outil que vous utilisez pour alimenter vos données. SQL Server travaillant en ASCII pour les données de type CHAR et VARCHAR et UNICODE pour les données de type NCHAR et NVARCHAR il suffit que du côté de votre alimentation vous ayez déclaré le bon format (page de code en principe).

    Toute la question étant maintenant, quel outil utilisez vous ?

    En principe vous devriez utiliser BCP.exe ou BULK INSERT, c'est fait pour ça !

    A +

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    C'est une application développée avec Windev qui lit des fichiers csv et qui fait les insert dans la table SQL.

    Citation Envoyé par SQLpro Voir le message
    Non, il ne s'agit JAMAIS d'un problème de paramétrage de SQL Server mais de l'outil que vous utilisez pour alimenter vos données. SQL Server travaillant en ASCII pour les données de type CHAR et VARCHAR et UNICODE pour les données de type NCHAR et NVARCHAR il suffit que du côté de votre alimentation vous ayez déclaré le bon format (page de code en principe).

    Toute la question étant maintenant, quel outil utilisez vous ?

    En principe vous devriez utiliser BCP.exe ou BULK INSERT, c'est fait pour ça !

    A +

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    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 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    Passez par BULK INSERT ou bcp pour cet import de données. Windev est trop "propriétaire" et parfois opaque..... Cela ira en outre beaucoup plus vite !

    A +

  5. #5
    Membre actif
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Points : 245
    Points
    245
    Par défaut
    Et si ce n'est pas une opération à automatiser vous pouvez également utiliser l'Assistant Importation et Exportation SQL Server

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Pour répondre à la cause de ton soucis, il faut que tu détermine quel est l'encodage utilisé dans ton fichier, par exemple quand tu fais enregistrer sous dans notepad c'est précisé. Et après tu utilises cet encodage pour ouvrir ton fichier dans ton code windev.

    Néanmoins, utiliser des outils prévu à cet effet (comme bcp) pour charger des fichiers textes est une bonne option surtout si le fichier est très gros.

    Cordialement
    Soazig

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    C'est bon j'ai trouvé...
    Il y a la fonction Windev Utf8VersChaine qui a complètement résolu mon problème.
    Merci encore pour votre aide.

    Citation Envoyé par soazig Voir le message
    Bonjour,
    Pour répondre à la cause de ton soucis, il faut que tu détermine quel est l'encodage utilisé dans ton fichier, par exemple quand tu fais enregistrer sous dans notepad c'est précisé. Et après tu utilises cet encodage pour ouvrir ton fichier dans ton code windev.

    Néanmoins, utiliser des outils prévu à cet effet (comme bcp) pour charger des fichiers textes est une bonne option surtout si le fichier est très gros.

    Cordialement
    Soazig

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

Discussions similaires

  1. [MySQL] problème d'accent lors de l'insertion et selection de données
    Par maelislah dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/06/2015, 10h05
  2. Problême d'accent lors de la création d'un fichier txt
    Par maxmarie dans le forum Windows Mobile
    Réponses: 15
    Dernier message: 24/08/2007, 21h59
  3. Réponses: 3
    Dernier message: 07/06/2007, 13h22
  4. Problème d'accent lors d'une requête
    Par escape dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/12/2006, 13h48
  5. Réponses: 14
    Dernier message: 08/08/2006, 11h31

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