Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Execution d'un package

3 réponses
Avatar
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("\chemin\nompackage", "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

3 réponses

Avatar
Fred.M.
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


Avatar
Christianbt
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


Avatar
jerome
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" wrote in message
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