Comment créer un message pour la tâche Envoyer un message ou un objet dynamique dans SQL Server 2005 Integration Services

INTRODUCTION

Vous pouvez créer un package de Microsoft SQL Server 2005 Integration Services (SSIS) à l’aide de SQL Server Business Intelligence Development Studio. Lorsque vous créez ce package, vous pouvez créer une expression pour une propriété d’un package SSIS pour mettre à jour ou pour remplir la propriété au moment de l’exécution. Par exemple, si le package SSIS contient une tâche Envoyer le courrier, vous pouvez créer une expression pour la propriété de l’objet et la propriété MessageSource . Vous pouvez utiliser l’expression de propriété d’objet pour mettre à jour dynamiquement le sujet d’un message électronique. Vous pouvez utiliser l’expression de la propriété MessageSource pour mettre à jour dynamiquement les variables dans le message électronique, tel que les variables qui sont remplis par une transformation de nombre de lignes.

Cet article explique comment créer un objet dynamique ou un message pour la tâche Envoyer le courrier.

Plus d'informations

Voici un exemple d'expression de propriété pour la propriété Objet dans une tâche Envoyer le courrier.
"Package>>> " + @[System::PackageName] +" was executed at>>> " + (DT_WSTR, 40) @[System::StartTime] + " by user>>> " + @[System::UserName] + " on Machine>>> " + @[System::MachineName]
Si vous utilisez cet exemple d’expression de propriété, l’objet d’un message électronique est mis à jour dynamiquement. L’objet inclut les informations suivantes :
  • Informations de texte
    Dans cet exemple, l’objet du message électronique inclut le « Package >>> "des informations de texte.
  • Variables système
    Le message électronique inclut des variables système suivantes :
    • PackageName
      Le nom du package.
    • Heure de début
      Heure à laquelle le lot a été exécuté.
    • Nom d’utilisateur
      L’utilisateur qui a exécuté le package.
    • MachineName
      Le nom de l’ordinateur sur lequel le lot a été exécuté.
Vous pouvez également inclure davantage d’informations dans l’expression, par exemple d’une variable définie par l’utilisateur. Par exemple, une tâche de flux de données peut inclure une transformation du nombre de lignes avant la tâche Envoyer le courrier. (La transformation du nombre de lignes est utilisée pour compter des lignes). La nombre de lignes de transformation remplit une variable définie par l’utilisateur qui est nommée @myrowcount. Cette variable stocke les informations de compte dans le flux de données.

Pour spécifier qu’un message électronique est envoyé uniquement si le nombre de lignes est inférieur à une certaine valeur, modifiez le flux de contrôle à l’aide des contraintes de priorité. Pour ce faire, procédez comme suit :
  1. Dans SQL Server Business Intelligence Development Studio, cliquez sur la Tâche de flux de données, puis cliquez sur Ajouter une contrainte de priorité.
  2. Double-cliquez sur la contrainte de précédence que vous venez de créer.
  3. Dans la boîte de dialogue Editeur de contraintes de priorité , cliquez sur Expression et contrainte
    Opération d’évaluation.
  4. Dans la zone Expression , tapez l’expression suivante :
    @myrowcount < 2
  5. Dans la boîte de dialogue Editeur de contraintes de priorité , cliquez sur OK.
Si moins de deux lignes sont traités dans le flux de données, un message électronique est envoyé.

En outre, vous pouvez utiliser la tâche d’envoi de courrier en tant que partie d’un gestionnaire d’erreurs. Par exemple, vous souhaiterez peut-être envoyer un message électronique aux administrateurs lorsqu’un package SSIS ne s’exécute pas. Pour ce faire, créez un gestionnaire d’événements OnError pour le package et ensuite ajouter une tâche Envoyer un message au gestionnaire d’événements. Créer une expression de propriété d’objet qui capture l’heure à laquelle le lot est exécuté, l’heure de début du conteneur, ou l’heure de début du Gestionnaire d’événements à partir des variables système pertinents. Par exemple, créer une expression qui est semblable à la suivante.
"Error in the task: " +  @[System::SourceName] + "with the ID: " +  @[System::SourceID] + " has failed at: " + (DT_WSTR, 20) @[System::ContainerStartTime] + "."
Cet exemple d’expression utilise les variables système suivantes :
  • Heure de début
    Moment de l’exécution lorsque le package.
  • ContainerStartTime
    Heure à laquelle le conteneur a démarré.
  • EventHandlerStartTime
    Le démarrage du Gestionnaire d’événements.

Références

Pour plus d’informations, consultez les rubriques suivantes dans la Documentation en ligne de SQL Server 2005:
  • « Utilisation d’Expressions de propriété dans les Packages »
  • « Comment : créer une Expression de propriété »
  • « Intégration avancée Services Expressions »
  • « Les contraintes de priorité »
  • « Définition des contraintes de priorité sur les tâches et conteneurs »
  • « Gestionnaires d’événements des Services d’intégration »
Propriétés

ID d'article : 906547 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires