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

Développement SQL Server Discussion :

Problème d'export de requête vers fichier txt [2017]


Sujet :

Développement SQL Server

  1. #1
    Membre éprouvé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 998
    Par défaut Problème d'export de requête vers fichier txt
    Bonjour à Toutes et Tous,

    Malgré mes recherches, je ne trouve pas la manière d'exporter le résultat d'une requête SQL vers un fichier txt.
    Bien sur, il y a l'assistant qui le fait très bien, mais j'ai besoin que cela se fasse en programmation (mise à jour automatique de données).

    J'ai essayé le commande "SQLCMD", mais cela me retourne l'erreur que SQL server ne supporte pas la commande.
    Merci pour votre soutien.
    Bien à vous
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  2. #2
    Membre chevronné Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 550
    Par défaut
    il y a la commande bcp mais comme sqlcmd, ce sont des commandes dos à lancer depuis une fenêtre cmd.
    Nom : bcp.png
Affichages : 135
Taille : 33,7 Ko

    On peut aussi faire ça par powershell

  3. #3
    Membre éprouvé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 998
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse, je comprends le fait de la commande sous DOS, mais cela ne règle pas mon soucis d'exporter le résultat de ma requête.
    Bien à vous
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  4. #4
    Membre éprouvé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 998
    Par défaut
    Je vais finalement passer par visual studio pour résoudre mon soucis
    Merci
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    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 997
    Billets dans le blog
    6
    Par défaut
    Extrait d'un de mes livres sur SQL Server :

    11 – Données externes et réplications de données

    L’utilitaire en ligne de commande bcp.exe permet de gérer des imports exports de données via des fichiers et la commande BULK INSERT permet de les insérer.
    Les serveurs liés, tout comme les fonctions « OPEN… » permettent de manipuler des données distantes venant de différentes sources.
    Enfin, Polybase permet de virtualiser des données de sources externes telles que Oracle, MongoDB, Teradata, Azure et d’autres sources via ODBC. Nous n’étudierons pas ce dernier point qui est très spécifique.
    La réplication des données (à ne pas confondre avec la haute disponibilité) concerna la réplications d’informations (certaines lignes et certaines, colonnes de certaines tables) d’une base vers une autre d’une autre instance, les bases n’ayant pas forcément la même structure.

    11.1 – Imports/Exports avec bcp.exe

    Cet utilitaire en ligne de commande permet de générer des fichiers d’export à partir de tables ou de vues SQL Server ou importer des données depuis des fichiers.

    La syntaxe de cet outil est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    bcp { <nom_de_table_ou_vue> | "requête_SELECT" }
        {in fichier_à_importer | [ out | queryout ] fichier_pour_export | format nul }
        [ -S server_name[\instance_name] ]
        { -T | -U login_id -P password }
    Pour la connexion :
    -S : indique le nom d’instance soit par défaut (facultatif), soit nommée (obligatoire)
    -T : connexion via compte système (approuvée)
    -U – P : connexion SQL avec nom du compte et mot de passe

    NOTA : queryout est nécessaire lorsque l’export concerne une requête, sinon utilisez out.

    Pour l’exécution immédiate :
    -c Copie avec caractères ASCI char, utilisant \t (tabulation) et \r\n (retour chariot, nouvelle ligne) comme séparateurs
    -n Copie en faisant appel aux types de données par défaut des données natifs
    -N Copie en faisant appel aux types natifs (données non littérale) et UNICODE pour les littéraux
    -w Copie avec caractères Unicode nchar, utilisant \t (tabulation) et \r\n (retour chariot, nouvelle ligne) comme séparateurs

    En mode -n, -c, -w ou -N la commande est exécutée immédiatement. Sinon, l’invite de commande, va demander un par un l’ensemble des paramètres nécessaire à l’opération.

    Options complémentaires (tous les paramètres doivent être préfixé par le tiret « - » moins) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Paramètre	Description
    a	entier	Taille des paquets réseau entre 4 096 octets et 65 535
    b	entier	Taille du lot en nombre de lignes (incompatible avec -h "ROWS_PER_BATCH)
    C	ACP, OEM,  RAW, n°_page_de_code	Spécification de la page de code sinon ACP = Windows (ISO 1252), OEM = page par défaut, RAW = aucune conversion)
    d	chaine de car.	Nom de la base source ou cible
    e	chaine de car.	Nom et emplacement du fichier recueillant les erreurs
    E		Conserve des valeurs IDENTITY
    f	chaine de car.	Utilise un fichier de format en mode caractères ou XML pour la correspondance des zones
    F	Entier	Première ligne à prendre en compte
    h	"hint [,...n]"	Indicateur complémentaire (voir tableau ci-après)
    i	chaine de car.	Fichier des réponses à l’invite si mode interactif (-n, -c, -w ou -N non spécifié)
    k		Forçage du NULL si vide
    K	ReadOnly	En cas d’opération sur un réplica AlwaysOn en lecture
    l	entier	Délai de connexion avant annulation. Par défaut 15s. Réglable de 0 à 65534 (0 = infini)
    L	entier	Dernière ligne à prendre en compte
    m	entier	Nombre maximale d’erreurs avant annulation. Par défaut 10
    o	chaine de car.	Nom et emplacement d’un fichier recevant la sortie redirigée à partir de l’invite de commandes
    q		Active QUOTED_IDENTIFIERS pour le nom de la base dans la connexion entre bcp l’instance
    r	caractère	Terminateur de fin de ligne. Par défaut « \n »
    R		Utilise le format régional pour les devises, date et heure
    t	caractère	Terminateur de fin de champ. Par défaut « \t »
    v		Extrait le numéro de version de bcp.exe (100 = 2008/2008R2, 160 = 2022)
    V	entier	Utilise une version ancienne de bcp.exe (80 = 2000, 160 = 2022)
    x		Génère un fichier de format en XML au lieu de caractères.
    ATTENTION : tous les commutateurs paramétriques sont sensibles à la casse. D’autres options existent pour Azure.

    Indicateurs complémentaires :
    • ORDER(colonne [ ASC | DESC ] [ , ...n])
    • ROWS_PER_BATCH=n
    • KILOBYTES_PER_BATCH=n
    • TABLOCK
    • CHECK_CONSTRAINTS
    • FIRE_TRIGGERS
    Voir dans la définition des paramètres de, BULK INSERT, ci-après.

    Exemple 42 – Export d’une requête vers un fichier texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    bcp.exe "SELECT object_id, s.name as schema_name, o.name as object_name, type_desc 
             FROM sys.objects AS o 
                JOIN sys.schemas AS s 
                   ON o.schema_id = s.schema_id"
             queryout "C:\tmp\sql_data.txt" 
             -S "HPZ840FB\SQL2019FBIN2" -T -c
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. [XL-2003] Export sélection filtrée vers fichier txt
    Par Markol dans le forum Excel
    Réponses: 6
    Dernier message: 26/04/2013, 11h32
  2. Exporter résultat requête vers Fichier Excel inexistant.
    Par Mykimix dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/11/2012, 14h26
  3. Export de table vers fichier txt
    Par cetir dans le forum SAS Base
    Réponses: 2
    Dernier message: 20/01/2011, 10h22
  4. Debutant : Export Feuille Excel vers fichier .txt
    Par mat75019 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/12/2008, 07h32
  5. [VBA] Export table access vers fichier.txt
    Par fabiolous dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/04/2007, 17h55

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