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 :

Export champ 'text' avec retour chariot


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut Export champ 'text' avec retour chariot
    Bonjour,

    Je voudrais sortir des donnés d'une base MS SQL Server 2000 dans des fichiers texte (format CSV classique).

    Pour celà, j'utilise la fonction d'export disponible dans Enterprise Manager au niveau du menu "Toutes les tâches / Exporter des données ...".

    Celà fonctionne très bien, sauf pour les colonnes de type text qui peuvent contenir des retour chariot, qui se répercutent dans le fichier de sortie, provoquant un retour à la ligne inopiné. Par exemple :

    1;"DURAND";"Paul";"Mec sympa."
    2;"DUPONT";"Henri";"Mec sympa.
    Mais me doit de l'argent."
    3;"MARTIN";"Jacques";"R.A.S."

    Voilà dans ce genre de cas, je me retrouve avec 4 lignes dans le fichier texte pour 3 enregistrements.

    Est-ce que quelqu'un aurait une idée ?
    Oracle - Citrix CCA - Vmware

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Tu peux faire un REPLACE des caractères ASCII 13 + 10 par un espace, dans la requête pour générer l'export.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut
    OK. Alors ca marche bien dans l'analyseur de requete, en ayant au préalable fait une conversion de type car la fonction REPLACE ne fonctionne pas avec des champs de type TEXT !

    Ca donne (en se concentrant sur la colonne qui pose probleme) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select REPLACE (CAST(matable.commentaire AS CHAR (1000)), char(13), ' ')
    from matable;

    Problème :

    Ca fonctionne bien avec l'analyseur de requete, mais ca plante pendant l'export avec le Data Transformation Service (qui pourtant valide bien la requete SQL). J'obtiens l'erreur :

    "Veuillez spécifier un nom et un numéro d'ordre valide pour cette colonne"

    ???
    Oracle - Citrix CCA - Vmware

  4. #4
    Membre actif Avatar de f_bobo
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Points : 281
    Points
    281
    Par défaut
    Citation Envoyé par wizdom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select REPLACE (CAST(matable.commentaire AS CHAR (1000)), char(13), ' ')
    from matable;


    "Veuillez spécifier un nom et un numéro d'ordre valide pour cette colonne"

    ???
    Rajoute un "AS COMMENTAIRE" avant le from et cela devrai aller.
    Cordialement,

    Florent

    Je penche donc je suis...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut
    Exact !

    Là ca marche nickel !

    Finalement ca donne ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select REPLACE( REPLACE (CAST(matable.commentaire AS CHAR (1000)), char(13), ' '), char(10), ' ') AS COMMENTAIRE
    from matable;
    Merci messieurs
    Oracle - Citrix CCA - Vmware

  6. #6
    Membre actif Avatar de f_bobo
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Points : 281
    Points
    281
    Par défaut
    De rien.

    C'est un plaisir.

    Un petit c'est aussi bien
    Cordialement,

    Florent

    Je penche donc je suis...

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Points : 133
    Points
    133
    Par défaut
    Heuu oui, il me semble bien l'avoir fait. Ca marche pas ?
    Oracle - Citrix CCA - Vmware

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 07/12/2011, 09h35
  2. Récupérer un texte avec retour chariot
    Par DeveloppeurWeb dans le forum ASP
    Réponses: 5
    Dernier message: 04/11/2010, 15h18
  3. [bash] Construire une variable texte avec retours chariot
    Par vallica dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/03/2008, 12h46
  4. Format Text avec retour chariot
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/01/2007, 13h34
  5. afficher texte avec retour chariot aprèq requète sql
    Par frenchy371 dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 17h33

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