Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La tâche de script, disponible dans la fenêtre Flux de contrôle du concepteur Integration Services et le composant Script, disponible dans la fenêtre Flux de données, ont des objectifs très différents dans un package Integration Services. La tâche est un outil de flux de contrôle à usage général, tandis que le composant sert de source, de transformation ou de destination dans le flux de données. Malgré leurs différents objectifs, toutefois, la tâche de script et le composant Script ont des similitudes dans les outils de codage qu’ils utilisent et les objets du package qu’ils mettent à la disposition du développeur. Comprendre leurs similitudes et leurs différences peut vous aider à utiliser plus efficacement la tâche et le composant.
Similitudes entre la tâche de script et le composant Script
La tâche de script et le composant Script partagent les fonctionnalités courantes suivantes.
| Caractéristique | Descriptif |
|---|---|
| Deux modes de conception | Dans la tâche et le composant, vous commencez par spécifier des propriétés dans l’éditeur, puis basculez vers l’environnement de développement pour écrire du code. |
| Microsoft Visual Studio Tools for Applications (VSTA) | La tâche et le composant utilisent le même IDE VSTA et prennent en charge le code écrit dans Microsoft Visual Basic ou Microsoft Visual C#. |
| Scripts précompilés | À compter de SQL Server 2008 Integration Services (SSIS), tous les scripts sont précompilés. Dans les versions antérieures, vous pouvez spécifier si les scripts ont été précompilés. Le script est précompilé en code binaire, ce qui permet une exécution plus rapide, mais au coût d’une taille de package accrue. |
| Débogage | La tâche et le composant prennent en charge les points d’arrêt et l’exécution pas à pas du code lors du débogage dans l’environnement de conception. Pour plus d’informations, consultez Codage et débogage de la tâche de script et [Codage et débogage du composant script](.. /extension-packages-scripting/data-flow-script-component/coding-and-debugging-the-script-component.md. |
Différences entre la tâche de script et le composant Script
La tâche de script et le composant Script présentent les différences notables suivantes.
| Caractéristique | Tâche de script | Composant Script |
|---|---|---|
| Flux de contrôle / Flux de données | La tâche de script est configurée sous l’onglet Flux de contrôle du concepteur et s’exécute en dehors du flux de données du package. | Le composant Script est configuré sur la page Flux de données du concepteur et représente une source, une transformation ou une destination dans la tâche de flux de données. |
| Objectif | Une tâche de script peut accomplir presque n’importe quelle tâche à usage général. | Vous devez spécifier si vous souhaitez créer une source, une transformation ou une destination avec le composant Script. |
| Exécution | Une tâche de script exécute du code personnalisé à un moment donné dans le flux de travail du package. Sauf si vous le placez dans un conteneur de boucles ou un gestionnaire d’événements, il ne s’exécute qu’une seule fois. | Un composant script s’exécute également une fois, mais il exécute généralement sa routine de traitement principale une fois pour chaque ligne de données dans le flux de données. |
| Éditeur |
L’éditeur de tâche de script comporte trois pages : Général, Script et Expressions. Seules les ReadOnlyVariables propriétés et , et ReadWriteVariablesScriptLanguage affectent directement le code que vous pouvez écrire. |
L’éditeur de transformation de script comporte jusqu’à quatre pages : colonnes d’entrée, entrées et sorties, script et gestionnaires de connexions. Les métadonnées et les propriétés que vous configurez sur chacune de ces pages déterminent les membres des classes de base générées automatiquement pour votre utilisation dans le codage. |
| Interaction avec le package | Dans le code écrit pour une tâche de script, vous utilisez la Dts propriété pour accéder à d’autres fonctionnalités du package. La Dts propriété est membre de la ScriptMain classe. |
Dans le code du composant Script, vous utilisez des propriétés d’accesseur typées pour accéder à certaines fonctionnalités de package telles que les variables et les gestionnaires de connexions. La PreExecute méthode peut accéder uniquement aux variables en lecture seule. La PostExecute méthode peut accéder aux variables en lecture seule et en lecture/écriture.Pour plus d’informations sur ces méthodes, consultez [Codage et débogage du composant script](.. /extension-packages-scripting/data-flow-script-component/coding-and-debugging-the-script-component.md. |
| Utilisation de variables | La tâche de script utilise la Variables propriété de l’objet Dts pour accéder aux variables disponibles via les propriétés et ReadWriteVariables les propriétés de ReadOnlyVariables la tâche. Par exemple:[VB] Dim myVar as String myVar = Dts.Variables("MyStringVariable").Value.ToString[C#] string myVar; myVar = Dts.Variables["MyStringVariable"].Value.ToString(); |
Le composant Script utilise les propriétés d’accesseur typées de la classe basée sur la génération automatique, créées à partir des propriétés et ReadWriteVariables des ReadOnlyVariables composants. Par exemple: [VB] Dim myVar as String myVar = Me.Variables.MyStringVariable[C#] string myVar; myVar = this.Variables.MyStringVariable; |
| Utilisation de connexions | La tâche de script utilise la Connections propriété de l’objet Dts pour accéder aux gestionnaires de connexions définis dans le package. Par exemple:[VB] Dim myFlatFileConnection As String myFlatFileConnection = _ DirectCast(Dts.Connections("Test Flat File Connection").AcquireConnection(Dts.Transaction), _ String)[C#] string myFlatFileConnection; myFlatFileConnection = (Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) as String); |
Le composant Script utilise des propriétés d’accesseur typées de la classe de base générée automatiquement, créée à partir de la liste des gestionnaires de connexions entrés par l’utilisateur dans la page Gestionnaires de connexions de l’éditeur. Par exemple: [VB] Dim connMgr As IDTSConnectionManager100 connMgr = Me.Connections.MyADONETConnection[C#] IDTSConnectionManager100 connMgr; connMgr = this.Connections.MyADONETConnection; |
| Déclenchement d’événements | La tâche de script utilise la Events propriété de l’objet Dts pour déclencher des événements. Par exemple:[VB] Dts.Events.FireError(0, "Event Snippet", _ ex.Message & ControlChars.CrLf & ex.StackTrace, _ "", 0)[C#] Dts.Events.FireError(0, "Event Snippet", ex.Message + "\r" + ex.StackTrace, "", 0); |
Le composant Script génère des erreurs, des avertissements et des messages d’information à l’aide des méthodes de l’interface IDTSComponentMetaData100 retournée par la ComponentMetaData propriété. Par exemple: [VB] Dim myMetadata as IDTSComponentMetaData100 myMetaData = Me.ComponentMetaData myMetaData.FireError(...) |
| Exploitation forestière | La tâche de script utilise la Log méthode de l’objet Dts pour consigner les informations sur les fournisseurs de journaux activés. Par exemple:[VB] Dim bt(0) As Byte Dts.Log("Test Log Event", _ 0, _ bt)[C#] byte[] bt = new byte[0]; Dts.Log("Test Log Event", 0, bt); |
Le composant Script utilise la Log méthode de la classe de base générée automatiquement pour journaliser les informations sur les fournisseurs de journaux activés. Par exemple: [VB] Dim bt(0) As ByteMe.Log("Test Log Event", _0, _bt)[C#] byte[] bt = new byte[0]; this.Log("Test Log Event", 0, bt); |
| Retour de résultats | La tâche de script utilise à la fois la TaskResult propriété et la propriété facultative ExecutionValue de l’objet Dts pour notifier l’exécution de ses résultats. |
Le composant Script s’exécute dans le cadre de la tâche de flux de données et ne signale pas les résultats à l’aide de l’une de ces propriétés. |
Voir aussi
Extension du package à l’aide de la tâche de script
Extension du flux de données avec le composant Script
Utilisation d’une tâche de script dans SQL Server Integration Services SSIS pour se connecter à un service web