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 :

Ecriture dans un fichier txt à partir d'une Procédure Stockée ?


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut Ecriture dans un fichier txt à partir d'une Procédure Stockée ?
    Bonjour ,

    Je voudrai savoir s'il est possible en MS SQL-Server d'ouvrir puis écrire dans un fichier texte, dans un répertoire données, durant un CURSOR d'une procédure stockée (lecture ligne par ligne et écriture de ces lignes dans le fichiers texte).

    Je vous remercie d'avance de vos réponses.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    tu peux le faire. exemple

    DECLARE @cmd sysname, @var sysname
    SET @var = 'ecrire ce texte dans le fichier'
    SET @cmd = 'echo ' + @var + ' > dir_out.txt'
    EXEC master..xp_cmdshell @cmd

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Par défaut
    Moi aussi cela m'intéresse la lecture/écriture dans un fichier txt ou csv.

    je ne comprend pas trop ce code :
    - dans quel fichier il écrit les données ?
    - quand j'execute ce code tel quel j'ai une erreur "Serveur : Msg 229, Niveau 14, État 5, Procédure xp_cmdshell, Ligne 6
    EXECUTE permission denied on object 'xp_cmdshell', database 'master', owner 'dbo'." Je ne comprend pas pourquoi il me parle de la base "master" alors que je suis sur une autre base.

    Par la même occasion, j'aurai voulu savoir si on peut importer des données d'un fichier csv ou txt dans une table SQL Server. Bien sur c'est possible par DTS. Mais un code T-SQL qui fait ça doit bien exister non ?

    Merci de vos réponses

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut
    Merci,

    Effectivement cela permet de créer un fichier ascii, en indiquant le chemin désiré. J'ai regardé dans l'aide, mais je n'arive qu'a écrire qu'une seule ligne dans le fichier texte. Je n'arrive pas à rajouter des lignes, ou les inserérer les unes après les autres.

    Mais je ne connaissais pas xp_cmdshell. Merci de ton aide.

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut
    Hop,

    Je viens de trouver pour rajouter des lignes dans le fichier.
    Le simple > écrase ce qu'il y avait dans le fichier, pour ajouter à la fin du fichier, il faut utiliser le double >>

    SET @var = 'ecrire ce texte dans le fichier'
    SET @cmd = 'echo ' + @var + '>> c:\dir_out.txt'
    EXEC master..xp_cmdshell @cmd, no_output

    Merci beaucoup de ton aide.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Par défaut
    Moi ça me met un message d'erreur à l'exécution : Line 1: Incorrect syntax near '.'.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Citation Envoyé par pierre.egaud
    Moi ça me met un message d'erreur à l'exécution : Line 1: Incorrect syntax near '.'.
    quelle est la valeur de la chaine à écrire ?
    N'y aurait-il pas un ' dedans par hasard ?

Discussions similaires

  1. [WD18] Ecrire dans un fichier txt à partir d'une requête SQL
    Par Blooster dans le forum WinDev
    Réponses: 4
    Dernier message: 29/05/2013, 11h03
  2. Réponses: 1
    Dernier message: 03/07/2011, 21h17
  3. Ecriture dans un fichier .txt
    Par aquarius85 dans le forum MATLAB
    Réponses: 5
    Dernier message: 03/03/2008, 08h28
  4. Réponses: 10
    Dernier message: 23/10/2007, 15h15
  5. ecriture dans un fichier txt
    Par warubi dans le forum VB.NET
    Réponses: 3
    Dernier message: 02/06/2007, 11h07

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