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