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 05/05/2011, 15h19   #1
Invité régulier
 
Inscription : février 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 8
Points : 6
Points : 6
Par défaut [SQL 2K]bcp export txt au format unicode

Bonjour,

J'exécute une commande bcp pour exporter une table au format txt (voir syntaxe ci-dessous), le txt généré est en ansi alors que je dois exporter un txt unicode. Je ne trouve pas le paramètre permettant de passer en unicode , j'ai essayé -w et -N, sans succès.


Merci d'avance pour vos infos


Code :
1
2
3
SET @Chemin = '\\BS75405\home\'
SET @Cmd = 'bcp "TEST..usinage" out "' + @Chemin +'' + @NoAR +'" -w -N -c -SsqlV8 -Usa -P -t";" -r\n'
EXECUTE master..xp_cmdshell @Cmd
rodrigue50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 22h56   #2
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 138
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 138
Points : 2 466
Points : 2 466
Envoyer un message via Yahoo à zinzineti
Essaye ceci :

Code :
SET @Cmd = 'bcp "TEST..usinage" out "' + @Chemin +'' + @NoAR +'" -N -SsqlV8 -Usa -P -t";" '
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 10h32   #3
Invité régulier
 
Inscription : février 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 8
Points : 6
Points : 6
J'ai essayé cette syntaxe mais le fichier généré est toujours du ansi.
Je suis en train de réfléchir à une solution alternative au bcp, à savoir passer par un lot dts , mais j'ai besoin de passer une variable pour le nom du fichier généré. C'est là que réside la difficulté.
Autre piste une commande osql...

Merci d'avance pour vos infos
rodrigue50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 12h08   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 668
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 668
Points : 8 718
Points : 8 718
Bonjour,

Avez-vous essayé de réaliser l'export avec un fichier de format ?

@++
__________________
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/05/2011, 16h46   #5
Invité régulier
 
Inscription : février 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 8
Points : 6
Points : 6
Bonjour,

J'ai étudié la documentation mais je n'ai pas trouvé de paramètre permettant de passer en format txt unicode.
D'un point de vue mise en forme et contenu mon fichier me convient, il me faut le même mais en txt unicode au lieu de txt ansi.
rodrigue50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 16h57   #6
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
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 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Bonjour,

J'ai étudié la documentation mais je n'ai pas trouvé de paramètre permettant de passer en format txt unicode.
D'un point de vue mise en forme et contenu mon fichier me convient, il me faut le même mais en txt unicode au lieu de txt ansi.
Essayez avez unique l'option -W...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 16h58   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
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 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Assurez vous que toutes vos colonnes sont en UNICODE sur la table également
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 15h11   #8
Invité régulier
 
Inscription : février 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 8
Points : 6
Points : 6
Merci beaucoup pour votre aide. Le problème est corrigé, cela venait du format des mes champs qui étaient en varchar(format incompatible unicode).
Depuis que j'ai tout passé en nvarchar dans la table, cela fonctionne bien au niveau du bcp avec le paramètre -w.
rodrigue50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 20h28   #9
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 668
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 668
Points : 8 718
Points : 8 718
Citation:
cela venait du format des mes champs qui étaient en varchar(format incompatible unicode).
Et bien si vos colonnes étaient en varchar, vous n'avez pas besoin de stocker des caractères d'alphabet non-latins.
En conséquence je ne vois pas à quoi vous a servi de changer vos colonnes en nvarchar, qui utilise Unicode, qui nécessite 2 octets par caractère.
A l'inverse, ASCII, qui est utilisé pour des colonnes de type vachar, n'en nécessite qu'un.

@++
__________________
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h07.


 
 
 
 
Partenaires

Hébergement Web