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 :

SSIS BATCH et Echo des "PRINT" SQL


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Par défaut SSIS BATCH et Echo des "PRINT" SQL
    Bonjour,

    j'ai développé des packages d'importation de fichiers XLS qui executent des requetes SQL (qui sont en fait des procédures stockées).
    Afin de faciliter l'utilisation, j'ai batché les dtsx avec la cmd : dtexec.exe

    donc, mon .bat contient tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dtexec.exe /file C:\dtsx\MON_DTS.dtsx 
    pause
    Or, ds mes procédures stockées, j'ai utilisé des PRINT et je voudrais donc savoir si je peux afficher le contenu de ces PRINT ds la console (qui s'ouvre avec le .bat) ? et si oui comment ?

    Merci d'avance pour vos renseignements

  2. #2
    Membre Expert
    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
    Par défaut
    Bonojur,

    Dans la console ça m'étonnerai beaucoup. Tu peux essayer de logger l'exécution de tes steps, mais ça m'étonnerai un peu que ça apparaisse.

    Au lieu de faire des print, tu peux songer insérer ce que tu veux dans une table de log, par exemple en faisant une fonction (UDF) pour ce faire.

    Tu peux peut-être investiguer le logging de SSIS, et peut-être aussi les event handler, tu peux certainement bricoler qqch d'intéressant

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Par défaut
    arf, si c'est pas possible c'est dommage, car j'ai toutes les informations concernant mes executions sont en print, je vais essayer de voir pour faire une table de log.
    merci beaucoup

  4. #4
    Membre Expert
    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
    Par défaut
    A la place des prints, tu as aussi une fonctionnalité très agréable de SSIS qui est le data viewer.
    Dans un flux de données, sur une flèche de liens, clic droit, Data Viewers... Là, tu peux afficher les données qui passent, soit en grille, soit en graphes.

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Par défaut
    ah oui en effet je ne connaissais pas (jeconnais pas grand chose sur SSIS d'ailleurs) et c'est pratique pour le debug.

    Mais ds mon cas, ce n'est pa tres utile car je dois faire une procédure simple d'utilisation pour des utilisateurs ne connaissant rien en info.

    mon idée est de batcher des dtsx pour que l'utilisateur final n'ai juste qu'a executer le .bat

    Le pb, c'est qu'il me faut des infos sur les l'executions des SP, je suis en train de regarder pour passer le contenu de mes 'print' ds des fichiers txt avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SET @TXT = 'bla bla' 
    SET @cmdtxt = 'echo ' + @TXT + ' >> C:\mes_log.txt'
    EXECUTE [master].[dbo].xp_cmdshell @cmdtxt
    mais parait que xp_cmdshell n'est pas très sur niveau sécurité...

  6. #6
    Membre Expert
    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
    Par défaut
    Tu as deux autres solutions :
    - loguer au niveau de SSIS et le faire, lui, écrire dans un log texte.
    - sotcker tes logs dans une table, et ensuite faire un SELECT du résultat à la fin, dans ton batch, avec du code vbscript / WSH

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