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 :

DTS et ActiveX


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Par défaut DTS et ActiveX
    Bonjour,
    dans la création de lot DTS j'ai une requête sql dans la "tâche des exécutions de requêtes SQL".
    J'aimerais pouvoir accéder à la tâche "envoi de courrier" lorsque le résultat de la requête ne contient rien (lorsque "select * from table" ne renvoi aucune ligne par exemple)
    Faut-il utiliser un script ActiveX ? Si oui comment je peux faire pour stocker le résultat d'une requête dans une variable ?
    Merci pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Par défaut
    personne n'a d'idées ?

  3. #3
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Par défaut
    Salut aer35eqs,

    Tu peux effectivement utiliser une activeX couplé à une variable et une statement if exists.
    Crée une tache SQL qui effectue ton test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if exists(select ...) 
    begin 
       select 'true' 
    end
    else 
       select 'false'
    Recupère cette valeur dans une variable de ton DTS (par exemple la mienne, EXIST)

    Ensuite voici le code de mon script ActiveX :
    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
    25
    26
    27
    28
    29
    30
    31
     
    '**********************************************************************
    '  Visual Basic ActiveX Script
    '************************************************************************
     
    Function Main()
     
    	'Definition of the variables
    	'----------------------------------------
    	Dim pkg
    	Dim stpContinuePkg
    	Dim stpExit
     
    	'Initialisation of the workflow
    	'--------------------------------------------
    	SET pkg = DTSGlobalVariables.Parent
    	SET stpContinuePkg = pkg.Steps("DTSStep_DTSCreateProcessTask_1")
    	SET stpExit = pkg.Steps("DTSStep_DTSSendMailTask_1")
     
    	'Test value
    	'-----------------
    	if DTSGlobalVariables("Exists").Value = "True" then
    		stpContinuePkg.DisableStep = False
    		stpExit.DisableStep = True
    	else
    		stpContinuePkg.DisableStep = True
    		stpExit.DisableStep = False
    	end if
     
    	Main = DTSTaskExecResult_Success
    End Function
    En fonction d'ou je souhaite aller, il active ou desactive le step.
    Pour ton info, les 2 steps sont liés à l'activeX par la clause : onSuccess.

    J'espère que tu t'en sortiras avec ca. J'ai trouvé la doc sur le net sinon.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Par défaut
    parfait ! Merci, c'est exactement ce que je cherchais.
    Parconte j'aurais encore une question, comment on affecte le select 'true' à une variable globale ?
    Je sais le faire dans un sens mais pas dans l'autre.

Discussions similaires

  1. Exécuter un tache dans un DTS via script activeX
    Par berceker united dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 20/03/2009, 11h10
  2. [DTS][ActiveX Script] spécifier un message d'erreur
    Par _Eric_ dans le forum Développement
    Réponses: 0
    Dernier message: 17/10/2008, 14h31
  3. [SQL2K] [DTS] Executer un lot DTS à partir d'un script ActiveX
    Par et.et-and-co dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/08/2006, 18h09
  4. [ActiveX] Visibilité d'une propriété
    Par paradise dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/11/2002, 18h33
  5. ActiveX : linker en statique ?
    Par tut dans le forum MFC
    Réponses: 8
    Dernier message: 07/11/2002, 10h24

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