|
info-dec.com
Pays:
| Inscrit le: 29 Oct 2006 |
| Messages: 174 |
| Localisation: France |
|
 |
| Posté le: Lun 19 Nov, 2007 22:35 |
|
 |
 |
 |
 |
TAGS: SSIS, pass parameters, Execute package task, Global Package, Child Package
Pour passer des paramètres à un package, faites ceci:
1- Créer un package enfant (celui qui va être appelé par un autre package)
Dans cet exemple, on l'appelle Child.dtsx
2- Créer un package parent(celui qui appeler un autre package(Child package))
Dans cet exemple, on l'appelle Parent.dtsx
3- Dans le package enfant (Child), créer une variable de type String appelée DirectoryINChild
Attribuez une valeur à cette variable (Par exemple: "C:\")
4- Dans le package Parent, créer une variable de type String appelée DirectoryINParent
Attribuez une valeur à cette variable (Par exemple: "C:\Temp")
5- Dans le package enfant (Child), créer une tâche de type Script Task appelée Read DirectoryINParent and affects it to DirectoryINChild
6- Configurer la tâche comme le montre l'image:
DirectoryINChild en mode lecture/écriture (read/write)
DirectoryINParent en mode lecture (read)
7- Cliquez sur Créer Script ou Design Script en anglais,
Saisir le code suivant:
En gros, ce script lit le contenu de la variable DirectoryINParent et l'affecte à la variable DirectoryINChild puis affiche la valeur de la variable: DirectoryINChild
(Texte pour copier/coller ):
| Code: | Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Public Class ScriptMain
Public Sub Main()
'Author: Info-dec.com
Dts.Variables("DirectoryINChild").Value = Dts.Variables("DirectoryINParent").Value
MsgBox("DirectoryINChild value=" & Dts.Variables("DirectoryINChild").Value.ToString())
Dts.TaskResult = Dts.Results.Success
End Sub
End Class |
8- Dans le package Parent, créer une tâche de type Execute Package Task appelée Execute Child Package
Task
9- Configurer la tâche comme dans l'image, ne pas oublier la location Location: File System ou Système de
fichiers
10- Cliquez sur le champs Connection : New Connection Vous allez tomber sur cet écran: choisir alors: Existing File
11- Cliquer sur Browse et sélectionner le chemin complet du package à appeler dans le package parent, donc le package Child dans notre cas:
12- Modifier ensuite le chemin comme suivant: Child.dtsx comme ça, on sait que même si on déplace les packages (à condition de les mettre dans le même répertoire), le package Parent saura trouver le package Child.
13- Faites exécuter ensuite le package Parent: ce qui affiche comme prévu la valeur de la variable DirectoryINChild avec comme valeur lue à partir de la variable globale DirectoryINParent: C:\Temp
14- Fin de l'exécution avec succès:

|
|
|