Tâche de script

Mis à jour : 17 juillet 2006

La tâche de script fournit du code qui permet de réaliser des fonctions non disponibles dans les tâches et les transformations intégrées de SQL Server 2005 Integration Services. La tâche de script peut également combiner des fonctions dans un même script au lieu d'utiliser plusieurs tâches et transformations. Vous utilisez la tâche de script pour le travail qui doit être effectué une fois dans un package (ou une seule fois par objet énuméré), et non une fois par ligne de données. Si vous devez utiliser le script pour effectuer le même travail pour chaque ligne de données dans un ensemble, il convient d'utiliser le composant Script à la place de la tâche de script. Par exemple, si vous souhaitez évaluer un montant de frais de port raisonnable et ignorer les lignes de données présentant des montants extrêmement élevés ou bas, il convient d'utiliser un composant Script. Pour plus d'informations, consultez Composant Script.

Le code créé par la tâche de script est du code Microsoft Visual Basic .NET personnalisé, qui est compilé et exécuté au moment de l'exécution du package.

Vous pouvez utiliser la tâche de script aux fins suivantes :

  • Accéder aux données à l'aide d'autres technologies non prises en charge par les types de connexion intégrés. Par exemple, un script peut utiliser des interfaces ADSI (Active Directory Service Interfaces) pour accéder aux noms d'utilisateur et les extraire d'Active Directory.
  • Créer un compteur de performances spécifique au package. Par exemple, un script peut créer un compteur de performances mis à jour pendant l'exécution d'une tâche complexe ou peu performante.
  • Déterminez si les fichiers spécifiés sont vides ou combien de lignes ils contiennent, puis en fonction de ces informations, affectez le flux de contrôle dans un package. Par exemple, si un fichier ne contient aucune ligne, la valeur 0 d'une variable et une contrainte de précédence qui évalue la valeur empêchent une tâche de système de fichiers de copier le fichier.

Vous pouvez configurer la tâche de script comme suit :

  • Fournissez le script personnalisé que la tâche exécute.
  • Spécifiez le nom de la fonction représentant le point d'entrée dans le script.
  • Indiquez si le script est précompilé.
  • Éventuellement, fournissez les listes des variables en lecture seule et en lecture/écriture à utiliser dans le script.

La tâche de script utilise VSA (Visual Studio for Applications) comme moteur d'écriture et d'exécution des scripts. Vous ne pouvez lancer un script que si VSA est installé sur les ordinateurs où le package est exécuté.

Pour plus d'informations sur l'écriture de code pour la tâche de script, consultez Extending the Package with the Script Task.

Si un script est utilisé par plusieurs packages, envisagez l'écriture d'une tâche personnalisée au lieu de recourir à la tâche de script. Pour plus d'informations, consultez Developing a Custom Task.

Environnement Visual Studio for Applications

La tâche de script permet d'accéder à l'environnement VSA. Toutes les fonctionnalités standard de l'environnement Visual Studio .NET sont disponibles, telles que l'éditeur à coloration syntaxique de Visual Studio, IntelliSense et l'Explorateur d'objets.

Lorsque le package s'exécute, la tâche charge le moteur de script puis exécute le script. Vous pouvez accéder aux assemblys .NET externes dans les scripts en ajoutant des références aux assemblys du projet.

La tâche de script présente plusieurs avantages par rapport à la tâche de script ActiveX :

  • Un environnement de développement intégré. VSA vous offre le même IDE que celui fourni par d'autres outils de développement Microsoft.
  • Un débogueur intégré. VSA vous permet de déboguer les scripts à l'aide du même débogueur que celui des autres outils de développement Microsoft. Les points d'arrêt dans le script fonctionnent de façon transparente avec ceux des tâches et des conteneurs Integration Services.
  • Utilisation du langage CLR (Common Language Runtime).
  • Intégration avec le concepteur SSIS.

La tâche de script remplace la tâche de script ActiveX. Utilisez la tâche de script ActiveX uniquement si nécessaire, pour des raisons de compatibilité descendante. Cette fonctionnalité sera supprimée dans la prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible les applications qui utilisent actuellement cette fonctionnalité.

Optimisation

Les scripts VSA doivent être compilés avant l'exécution du package. La tâche de script dispose d'une option qui permet de précompiler le script en code binaire lors de l'enregistrement du package. Lorsqu'un script est précompilé, le moteur de langage n'est pas chargé au moment de l'exécution et le package s'exécute plus rapidement ; toutefois, les fichiers binaires compilés consomment une quantité significative d'espace disque. Si vous n'utilisez pas l'option de précompilation, le script est compilé au moment de l'exécution, ce qui ralentit l'exécution du package mais consomme moins d'espace disque. Si le stockage de packages volumineux ne pose pas de problème, il est recommandé de précompiler vos scripts VSA. En outre, seul un script précompilé peut être exécuté dans un environnement 64 bits.

Lorsque vous devez choisir s'il convient de précompiler le script, sachez qu'un script compilé ne peut pas être débogué. Par défaut, la tâche de script est configurée pour précompiler son script et sa propriété PreCompile prend la valeur True. La propriété PreCompile prend généralement la valeur False pendant le développement et le débogage d'un package, puis reprend la valeur True avant le déploiement du package.

Messages de journalisation personnalisés disponibles dans la tâche de script

Le tableau suivant décrit l'entrée de journal personnalisée de la tâche de script. Pour plus d'informations, consultez Implémentation de la journalisation dans les packages et Messages personnalisés pour la journalisation.

Entrée du journal Description

ScriptTaskLogEntry

Indique les résultats de l'implémentation de la journalisation dans le script. Une entrée de journal est écrite pour chaque appel de la méthode Log de l'objet Dts. L'entrée est écrite à l'exécution du code. Pour plus d'informations, consultez Logging in the Script Task.

Configuration de la tâche de script

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programme.

Pour plus d'informations sur les propriétés définissables dans le concepteur SSIS, cliquez sur l'une des rubriques suivantes :

Pour plus d'informations sur la définition de ces propriétés dans le concepteur SSIS, cliquez sur la rubrique suivante :

Configuration de la tâche de script par programme

Pour plus d'informations sur la définition par programme de ces propriétés, cliquez sur la rubrique suivante :

Voir aussi

Concepts

Tâches Integration Services
Création du flux de contrôle d'un package
Observations relatives à Integration Services sur des ordinateurs 64 bits

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

17 juillet 2006

Contenu modifié :
  • Ajout d'un tableau d'entrées de journal personnalisées.

5 décembre 2005

Contenu modifié :
  • Ajout de conseils sur l'utilisation optimale de la tâche de script par rapport au composant Script.