1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Protected Sub btnstartSSISJob_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnstartSSISJob.Click
Dim timeout As Integer = 3600
Dim jobname As String = "jobSSIS_GestionIntervention"
Try
Dim con As New Microsoft.SqlServer.Management.Common.ServerConnection()
con.ServerInstance = "NomduServeur"
con.ConnectAsUserName = "domain\NomDeLusager"
con.ConnectAsUserPassword = "MotDePasse"
'creation de l'objet serveur
Dim egbi2k5 As New Microsoft.SqlServer.Management.Smo.Server(con)
'execute le job si il existe.
If egbi2k5.JobServer.Jobs.Contains(jobname) Then 'PLANTE ICI
Dim oLastRunDate As DateTime = egbi2k5.JobServer.Jobs(jobname).LastRunDate
egbi2k5.JobServer.Jobs(jobname).Start()
Dim nb_sec As Integer = 0
While oLastRunDate = egbi2k5.JobServer.Jobs(jobname).LastRunDate
egbi2k5.JobServer.Jobs(jobname).Refresh()
If nb_sec < timeout Then
nb_sec += 1
System.Threading.Thread.Sleep(1000)
Else
'envoi d'email
lblLogSSISJob.Text = "Time out : le process est trop lent"
Console.WriteLine("time out: le process est trop lent")
End If
End While
lblLogSSISJob.Text = "La mise à jour du cube s'est terminée avec succès !"
Console.WriteLine("fin")
Return
Else
Return
End If
Catch ex As SqlException
If ex.ErrorCode = -2146232060 Then
lblLogSSISJob.Text = "Il y a présentement déjà une mise à jour des cubes !"
End If
End Try
End Sub |
Partager