Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lionel Billon (MVP)
Bonjour Gregory,
A priori, d'après votre code, vous executez directement le package DTS. Pourquoi ne pas créer un job planifié par SQL Agent qui executerait votre package DTS. Vous pourrez alors facilement maitriser la date et l'heure d'execution du package. Bien entendu ce job pourra être créé directement depuis votre page ASP.
Regardez du côté des procédures stockées SQL Server sp_add_job, sp_add_step et sp_add_job_schedule.
Cordialement,
Lionel BILLON (MVP) WINSIGHT
"Grégory" a écrit :
Bonjour,
Je cherche à modifier l'heure de lancement d'un lot DTS dans SQL Serveur 2000 via une page ASP.
Est-ce possible ?
Voici le code pour lancer un lot DTS si cela peut vous aider et merci d'avance :
<% actionLibelle = "Le lot DTS a été lancé." 'LANCEMENT DU LOT DTS Const DTSSQLStgFlag_Default = 0 Const DTSStepExecResult_Failure = 1
Dim oPkg, oStep, sMessage, bStatus
Set oPkg = Server.CreateObject("DTS.Package") oPkg.LoadFromSQLServer "SERVER_NAME","sa","password",DTSSQLStgFlag_Default,"","","","LOT1" oPkg.Execute()
A priori, d'après votre code, vous executez directement le package DTS.
Pourquoi ne pas créer un job planifié par SQL Agent qui executerait votre
package
DTS. Vous pourrez alors facilement maitriser la date et l'heure d'execution
du package. Bien entendu ce job pourra être créé directement depuis votre
page ASP.
Regardez du côté des procédures stockées SQL Server sp_add_job, sp_add_step
et sp_add_job_schedule.
Cordialement,
Lionel BILLON (MVP)
WINSIGHT
"Grégory" a écrit :
Bonjour,
Je cherche à modifier l'heure de lancement d'un lot DTS dans SQL Serveur
2000 via une page ASP.
Est-ce possible ?
Voici le code pour lancer un lot DTS si cela peut vous aider et merci
d'avance :
<%
actionLibelle = "Le lot DTS a été lancé."
'LANCEMENT DU LOT DTS
Const DTSSQLStgFlag_Default = 0
Const DTSStepExecResult_Failure = 1
Dim oPkg, oStep, sMessage, bStatus
Set oPkg = Server.CreateObject("DTS.Package")
oPkg.LoadFromSQLServer
"SERVER_NAME","sa","password",DTSSQLStgFlag_Default,"","","","LOT1"
oPkg.Execute()
A priori, d'après votre code, vous executez directement le package DTS. Pourquoi ne pas créer un job planifié par SQL Agent qui executerait votre package DTS. Vous pourrez alors facilement maitriser la date et l'heure d'execution du package. Bien entendu ce job pourra être créé directement depuis votre page ASP.
Regardez du côté des procédures stockées SQL Server sp_add_job, sp_add_step et sp_add_job_schedule.
Cordialement,
Lionel BILLON (MVP) WINSIGHT
"Grégory" a écrit :
Bonjour,
Je cherche à modifier l'heure de lancement d'un lot DTS dans SQL Serveur 2000 via une page ASP.
Est-ce possible ?
Voici le code pour lancer un lot DTS si cela peut vous aider et merci d'avance :
<% actionLibelle = "Le lot DTS a été lancé." 'LANCEMENT DU LOT DTS Const DTSSQLStgFlag_Default = 0 Const DTSStepExecResult_Failure = 1
Dim oPkg, oStep, sMessage, bStatus
Set oPkg = Server.CreateObject("DTS.Package") oPkg.LoadFromSQLServer "SERVER_NAME","sa","password",DTSSQLStgFlag_Default,"","","","LOT1" oPkg.Execute()
Grâce à tes indications, j'ai trouvé la procédure stockée "sp_update_jobschedule" qui permet de mettre à jour le lancement d'un lot DTS. Il suffit du connaître son identifiant (job_id) et le tour est joué.
J'ai crée une procédure stockée qui met à jour le lot DTS voulu et qui ne prend en paramètre que l'heure de la mise à jour.
Voici ma solution :
--DEBUT CREATE PROCEDURE dbo.sp_UP_MAJ_Start_DTS @active_start_time int AS
declare @name sysname SELECT @name = (SELECT name FROM msdb.dbo.sysjobschedules WHERE job_id like '8B591DC3-6C31-4238-B3F4-8EAD18DA8CB1')
Je n'avais pas assez poussé les recherches au niveau des procédures de la base msdb...
Grégory DELMOTTE
"Lionel Billon (MVP)" a écrit :
Bonjour Gregory,
A priori, d'après votre code, vous executez directement le package DTS. Pourquoi ne pas créer un job planifié par SQL Agent qui executerait votre package DTS. Vous pourrez alors facilement maitriser la date et l'heure d'execution du package. Bien entendu ce job pourra être créé directement depuis votre page ASP.
Regardez du côté des procédures stockées SQL Server sp_add_job, sp_add_step et sp_add_job_schedule.
Cordialement,
Lionel BILLON (MVP) WINSIGHT
"Grégory" a écrit :
> Bonjour, > > Je cherche à modifier l'heure de lancement d'un lot DTS dans SQL Serveur > 2000 via une page ASP. > > Est-ce possible ? > > Voici le code pour lancer un lot DTS si cela peut vous aider et merci > d'avance : > > <% > actionLibelle = "Le lot DTS a été lancé." > 'LANCEMENT DU LOT DTS > Const DTSSQLStgFlag_Default = 0 > Const DTSStepExecResult_Failure = 1 > > Dim oPkg, oStep, sMessage, bStatus > > Set oPkg = Server.CreateObject("DTS.Package") > oPkg.LoadFromSQLServer > "SERVER_NAME","sa","password",DTSSQLStgFlag_Default,"","","","LOT1" > oPkg.Execute() > > Response.Write(actionLibelle) > Response.Write("<br>") > > bStatus = True > > For Each oStep In oPkg.Steps > sMessage = sMessage & "Étape [" & oStep.Name & "] " > If oStep.ExecutionResult = DTSStepExecResult_Failure Then > sMessage = sMessage & " échouée<br>" > bStatus = False > Else > sMessage = sMessage & " réussie <br>" > End If > sMessage = sMessage & "Tâche """ & oPkg.Tasks(oStep.TaskName).Description & > """<br>" > Next > > If bStatus Then > sMessage = sMessage & "Lot DTS [" & oPkg.Name & "] réussi<br>" > Else > sMessage = sMessage & "Lot DTS [" & oPkg.Name & "] échoué<br>" > End If > > Response.Write sMessage > Response.Write "Terminé<br>" > actionLibelle="" > %> > > > Grégory
Merci Lionel,
Grâce à tes indications, j'ai trouvé la procédure stockée
"sp_update_jobschedule"
qui permet de mettre à jour le lancement d'un lot DTS. Il suffit du
connaître son identifiant (job_id) et le tour est joué.
J'ai crée une procédure stockée qui met à jour le lot DTS voulu et qui ne
prend en paramètre que l'heure de la mise à jour.
Voici ma solution :
--DEBUT
CREATE PROCEDURE dbo.sp_UP_MAJ_Start_DTS
@active_start_time int
AS
declare @name sysname
SELECT @name = (SELECT name FROM msdb.dbo.sysjobschedules
WHERE job_id like '8B591DC3-6C31-4238-B3F4-8EAD18DA8CB1')
Je n'avais pas assez poussé les recherches au niveau des procédures de la
base msdb...
Grégory DELMOTTE
"Lionel Billon (MVP)" a écrit :
Bonjour Gregory,
A priori, d'après votre code, vous executez directement le package DTS.
Pourquoi ne pas créer un job planifié par SQL Agent qui executerait votre
package
DTS. Vous pourrez alors facilement maitriser la date et l'heure d'execution
du package. Bien entendu ce job pourra être créé directement depuis votre
page ASP.
Regardez du côté des procédures stockées SQL Server sp_add_job, sp_add_step
et sp_add_job_schedule.
Cordialement,
Lionel BILLON (MVP)
WINSIGHT
"Grégory" a écrit :
> Bonjour,
>
> Je cherche à modifier l'heure de lancement d'un lot DTS dans SQL Serveur
> 2000 via une page ASP.
>
> Est-ce possible ?
>
> Voici le code pour lancer un lot DTS si cela peut vous aider et merci
> d'avance :
>
> <%
> actionLibelle = "Le lot DTS a été lancé."
> 'LANCEMENT DU LOT DTS
> Const DTSSQLStgFlag_Default = 0
> Const DTSStepExecResult_Failure = 1
>
> Dim oPkg, oStep, sMessage, bStatus
>
> Set oPkg = Server.CreateObject("DTS.Package")
> oPkg.LoadFromSQLServer
> "SERVER_NAME","sa","password",DTSSQLStgFlag_Default,"","","","LOT1"
> oPkg.Execute()
>
> Response.Write(actionLibelle)
> Response.Write("<br>")
>
> bStatus = True
>
> For Each oStep In oPkg.Steps
> sMessage = sMessage & "Étape [" & oStep.Name & "] "
> If oStep.ExecutionResult = DTSStepExecResult_Failure Then
> sMessage = sMessage & " échouée<br>"
> bStatus = False
> Else
> sMessage = sMessage & " réussie <br>"
> End If
> sMessage = sMessage & "Tâche """ & oPkg.Tasks(oStep.TaskName).Description &
> """<br>"
> Next
>
> If bStatus Then
> sMessage = sMessage & "Lot DTS [" & oPkg.Name & "] réussi<br>"
> Else
> sMessage = sMessage & "Lot DTS [" & oPkg.Name & "] échoué<br>"
> End If
>
> Response.Write sMessage
> Response.Write "Terminé<br>"
> actionLibelle=""
> %>
>
>
> Grégory
Grâce à tes indications, j'ai trouvé la procédure stockée "sp_update_jobschedule" qui permet de mettre à jour le lancement d'un lot DTS. Il suffit du connaître son identifiant (job_id) et le tour est joué.
J'ai crée une procédure stockée qui met à jour le lot DTS voulu et qui ne prend en paramètre que l'heure de la mise à jour.
Voici ma solution :
--DEBUT CREATE PROCEDURE dbo.sp_UP_MAJ_Start_DTS @active_start_time int AS
declare @name sysname SELECT @name = (SELECT name FROM msdb.dbo.sysjobschedules WHERE job_id like '8B591DC3-6C31-4238-B3F4-8EAD18DA8CB1')
Je n'avais pas assez poussé les recherches au niveau des procédures de la base msdb...
Grégory DELMOTTE
"Lionel Billon (MVP)" a écrit :
Bonjour Gregory,
A priori, d'après votre code, vous executez directement le package DTS. Pourquoi ne pas créer un job planifié par SQL Agent qui executerait votre package DTS. Vous pourrez alors facilement maitriser la date et l'heure d'execution du package. Bien entendu ce job pourra être créé directement depuis votre page ASP.
Regardez du côté des procédures stockées SQL Server sp_add_job, sp_add_step et sp_add_job_schedule.
Cordialement,
Lionel BILLON (MVP) WINSIGHT
"Grégory" a écrit :
> Bonjour, > > Je cherche à modifier l'heure de lancement d'un lot DTS dans SQL Serveur > 2000 via une page ASP. > > Est-ce possible ? > > Voici le code pour lancer un lot DTS si cela peut vous aider et merci > d'avance : > > <% > actionLibelle = "Le lot DTS a été lancé." > 'LANCEMENT DU LOT DTS > Const DTSSQLStgFlag_Default = 0 > Const DTSStepExecResult_Failure = 1 > > Dim oPkg, oStep, sMessage, bStatus > > Set oPkg = Server.CreateObject("DTS.Package") > oPkg.LoadFromSQLServer > "SERVER_NAME","sa","password",DTSSQLStgFlag_Default,"","","","LOT1" > oPkg.Execute() > > Response.Write(actionLibelle) > Response.Write("<br>") > > bStatus = True > > For Each oStep In oPkg.Steps > sMessage = sMessage & "Étape [" & oStep.Name & "] " > If oStep.ExecutionResult = DTSStepExecResult_Failure Then > sMessage = sMessage & " échouée<br>" > bStatus = False > Else > sMessage = sMessage & " réussie <br>" > End If > sMessage = sMessage & "Tâche """ & oPkg.Tasks(oStep.TaskName).Description & > """<br>" > Next > > If bStatus Then > sMessage = sMessage & "Lot DTS [" & oPkg.Name & "] réussi<br>" > Else > sMessage = sMessage & "Lot DTS [" & oPkg.Name & "] échoué<br>" > End If > > Response.Write sMessage > Response.Write "Terminé<br>" > actionLibelle="" > %> > > > Grégory
Grégory
Bonjour,
La procédure stockée msdb.dbo.sp_update_jobschedule est détaillée sur le site suivant : http://doc.ddart.net/mssql/sql70/sp_ua-uz_6.htm
J'ai modifié la porcédure pour la transformer comme ci-dessous :
--DEBUT CREATE PROCEDURE dbo.sp_UP_MAJ_Start_DTS @active_start_time_p int AS
declare @name_p sysname SELECT @name_p = (SELECT name FROM msdb.dbo.sysjobschedules WHERE job_id like '8B591DC3-6C31-4238-B3F4-8EAD18DA8CB1')