Précédent   Forum du club des développeurs et IT Pro > Bases de données > MS SQL-Server > Outils
Outils Forum d'entraide sur les outils gravitant autour de MS-SQL Server, tels que bcp, TDS, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/01/2012, 10h12   #1
bilbot
Membre actif
 
Inscription : juin 2008
Messages : 204
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 204
Points : 163
Points : 163
Par défaut [Export BCP] Un espace est inséré dans les champs ou il n'y a pas de valeurs

Bonjour,

J'utilise l'utilitaire BCP pour faire un export et j'ai un soucis avec les champs pour lesquels j'ai la valeur NULL ou '' (chaine de caractère vide) en base. Il me remplace systématiquement ces 2 valeurs par un espace dans mon fichier d'export. Or je souhaite que s'il n'y a pas de valeur en base, il ne me mette rien entre mes 2 séparateurs de champs.

Voici la commande exécuté :

Code :
1
2
 
EXEC master..xp_cmdshell  'BCP "Exec Base..ps_export" queryout "c:\export.txt" -T -C 0 -w -t"|~" -S DB_PROD
ps_export est une procédure stocké qui contient ma requête d'extract. Pour les champ. J'ai appliqué la fonction ISNULL pour renvoyer '' si le champs contient NULL.

J'ai cherché dans la doc bcp et vérifié tout les paramètre BCP et aucun ne spécifie qu'il faut mettre un espace sir la valeur vaut NULL ou ''

Si vous avez une soluce ou une astuce je suis preneur.

Olivier
bilbot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 10h58   #2
zinzineti
Expert Confirmé
 
Homme Etienne ZINZINDOHOUE
Chargé de Développement et d'Analyse de données
Inscription : mars 2010
Messages : 1 278
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Chargé de Développement et d'Analyse de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 278
Points : 2 814
Points : 2 814
Envoyer un message via Yahoo à zinzineti
Qu'est ce qui vous empêche d'exclure les NULLs dans la procédure stockée Base..ps_export ?

c'est quoi le but visé ?
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 11h07   #3
bilbot
Membre actif
 
Inscription : juin 2008
Messages : 204
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 204
Points : 163
Points : 163
Justement je les exclu grâce au isnull (je replace null par '')

Actuellement, j'obtiens un fichier qui a cette forme :
Code :
1
2
3
 
DATA|~DATA|~ |~ 
DATA|~ |~DATA|~
entre 2 séparateurs si en base j'ai NULL ou '' (chaine vide) BCP m'a rajouté un espace.

et moi ce que je veux c'est (les espaces entre 2 séparateurs de colonnes ont été supprimés):

Code :
1
2
3
 
DATA|~DATA|~|~
DATA|~|~DATA|~
bilbot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 11h26   #4
mikedavem
Expert Confirmé Sénior

 
Avatar de mikedavem
 
Homme David BARBARIN
Inscription : août 2005
Messages : 4 137
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 4 137
Points : 8 373
Points : 8 373
Pourquoi vouloir exclure les absences de valeurs ? Supprimez vos fonctions ISNULL de votre procédure. Vous obtiendrez le résultat voulu.

++
__________________
Blog | Articles SQL Server | Profil MVP
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 11h59   #5
bilbot
Membre actif
 
Inscription : juin 2008
Messages : 204
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 204
Points : 163
Points : 163
Effectivement. Par contre je pige pas pourquoi il remplace la chaine vide '' par ' '

En tout cas merci.
bilbot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h36.


 
 
 
 
Partenaires

Hébergement Web