Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2011, 12h11   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 12
Points : 4
Points : 4
Par défaut Import fichier avec accents dans table

Bonjours à tous,

J'ai un problème qui me parait extrêmement stupide mais dont je ne trouve désespérément pas la solution.

J'aimerais simplement importer un fichier csv dans une table sur SQL server 2000 (jusque là rien de bien sorcier...).
Mon problème est que ce fichier comporte des accents et que je me retrouve après import avec d'autres caractères à la place de ces fameux accents.
J'utilise un lot DTS pour faire cet import, mais j'ai aussi essayé avec Bulk Insert avec le même résultat.

Mon fichier est codé en utf-8.

Merci d'avance à quiconque pourra m'aiguiller vers une solution.

PS : je précise que cet import doit se faire de manière quotidienne et automatique, donc je ne peux pas me permettre de changer l'encodage du fichier à la main.
Pr3ToriA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 12h38   #2
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

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

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Bonjour,

Trouvé en 12 secondes montre en main avec un moteur de recherche bien connu, et depuis la Thaïlande !

Si je ne me trompe pas, seule la prochaine version de SQL Server supportera l'UTF-8. Pour l'instant seul UTF-16 est supporté.

Il vous faut donc spécifier la page de codes 65001, ce que j'ai trouvé dans la minute qui suivait ...

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 13h16   #3
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 12
Points : 4
Points : 4
Magnifique!

j'étais parti dans la mauvaise direction lors de mes recherches, on finit par ne plus avoir le recul nécessaire pour bien s'orienter parfois...
En tout cas ça marche désormais très bien avec Bulk Insert et codepage='65001'.

Merci pour ta recherche supersonique!
Pr3ToriA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 09h45   #4
Candidat au titre de Membre du Club
 
Inscription : mars 2002
Messages : 21
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 21
Points : 10
Points : 10
Bonjour j'ai le même problème j'ai mis le même codepage
mais j'ai cette erreur
Citation:
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (DH). [SQLSTATE 42000] (Error 4864). The step failed.


voici mon code
Code :
SET @Query = 'BULK INSERT #TABLE_TEMP from ''' + @NOM_FICHIER +  ''' WITH (FIELDTERMINATOR = '','' , ROWTERMINATOR  = ''\n'', CODEPAGE=''65001''  )'
je suis en SLQ 2005
biscot19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h57.


 
 
 
 
Partenaires

Hébergement Web