Execution d'un package

Le
Christianbt
Bonjour,

Dans un package SSIS, j'ai une "script task" dans laquelle j'ai un bout de
code (VB) qui me permet de lancer un autre package (se trouvant sur le même
serveur).
Le code est le suivant (rien de plus simple) :
Dim ap2 As Application = New Application()
Dim p As Package = New Package
ap2.LoadFromSqlServer("cheminompackage", "APHELIE", Nothing,
Nothing, Nothing)
p.Execute()

Lorsque j'exécute la tâche, elle passe au vert, pas de problème, sauf que le
package en question n'a pas été exécuté (???)
Quelqu'un aurait-il une idée du problème???
MERCI
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred.M.
Le #11852271
Bonjour Christian,
Euh question toute bête : pourquoi n'utilises-tu pas plutôt la tâche
"Execute Package Task" où tout est déjà prévu au lieu d'un "Script Task" ?

Fred.M.

"Christianbt" a écrit :

Bonjour,

Dans un package SSIS, j'ai une "script task" dans laquelle j'ai un bout de
code (VB) qui me permet de lancer un autre package (se trouvant sur le même
serveur).
Le code est le suivant (rien de plus simple) :
Dim ap2 As Application = New Application()
Dim p As Package = New Package
ap2.LoadFromSqlServer("cheminnompackage", "APHELIE", Nothing,
Nothing, Nothing)
p.Execute()

Lorsque j'exécute la tâche, elle passe au vert, pas de problème, sauf que le
package en question n'a pas été exécuté (???)
Quelqu'un aurait-il une idée du problème???
MERCI


Christianbt
Le #11852211
Bonjour Fred,

Parce que dans mon code, il y a une condition avant... Si telle variable est
présente, j'exécute ensuite tel ou tel autre package...

Merci,



"Fred.M." a écrit :

Bonjour Christian,
Euh question toute bête : pourquoi n'utilises-tu pas plutôt la tâche
"Execute Package Task" où tout est déjà prévu au lieu d'un "Script Task" ?

Fred.M.

"Christianbt" a écrit :

> Bonjour,
>
> Dans un package SSIS, j'ai une "script task" dans laquelle j'ai un bout de
> code (VB) qui me permet de lancer un autre package (se trouvant sur le même
> serveur).
> Le code est le suivant (rien de plus simple) :
> Dim ap2 As Application = New Application()
> Dim p As Package = New Package
> ap2.LoadFromSqlServer("cheminnompackage", "APHELIE", Nothing,
> Nothing, Nothing)
> p.Execute()
>
> Lorsque j'exécute la tâche, elle passe au vert, pas de problème, sauf que le
> package en question n'a pas été exécuté (???)
> Quelqu'un aurait-il une idée du problème???
> MERCI


jerome
Le #11852041
une autre solution est de passer par une SP

CREATE PROCEDURE dbo.pExecute
@pName varchar(20)
as
declare @sql varchar(500)
set @sql='exec master.dbo.xp_cmdshell '+''''+'DTSRun.exe /S localhost /U
uName/P pass /N '+@pName +''''
execute (@sql)

et de l'appeler dans du code VB

Dim rst As New ADODB.Recordset
Dim cmd As New ADODB.command

cmd.CommandText = "pExecute"
Set cmd.ActiveConnection = cn
cmd.CommandTimeout = 300 ' 5 minutes de timeout
cmd.CommandType = adCmdStoredProc
cmd.parameters.Refresh

cmd("@pName ") = PackageName
Set rst = cmd.Execute
rst.Close

en donnant (meme temporairement) les droits d'accès sur xp_cmdshell à uName


"Christianbt" news:
Bonjour,

Dans un package SSIS, j'ai une "script task" dans laquelle j'ai un bout de
code (VB) qui me permet de lancer un autre package (se trouvant sur le


même
serveur).
Le code est le suivant (rien de plus simple) :
Dim ap2 As Application = New Application()
Dim p As Package = New Package
ap2.LoadFromSqlServer("cheminnompackage", "APHELIE", Nothing,
Nothing, Nothing)
p.Execute()

Lorsque j'exécute la tâche, elle passe au vert, pas de problème, sauf que


le
package en question n'a pas été exécuté (???)
Quelqu'un aurait-il une idée du problème???
MERCI


Publicité
Poster une réponse
Anonyme