ERRO NA FUNÇÃO ABAIXO

 Tópico anterior Próximo tópico Novo tópico

ERRO NA FUNÇÃO ABAIXO

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#484065 - 20/08/2018 23:05:50

ELMO01
BELO HORIZONTE
Cadast. em:Agosto/2004


Última edição em 20/08/2018 23:09:57 por ELMO01

 Anexos estao visíveis somente para usuários registrados

Oi pessoal,

Tenho a seguinte SUB:
Private Sub GerarDumpDataBase(ByRef NomeBackup As String, NomeDataBase As String)
        Try
            Dim NomeDataBaseSQL As String = Pasta & NomeDataBase & ".sql"
            Dim NomeDataBaseZIP As String = Pasta & NomeBackup & ".zip"
            'Log
            Me.Invoke(New TreathGeral(AddressOf Me.AdicionaLog), "S", "Criando Backup de '" & NomeDataBase & "'")
            'Cria o DUMP
            Dim Proc As New System.Diagnostics.Process
            Proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
            'Proc.StartInfo.FileName = Application.StartupPath & "\mysqldump.exe"
            Proc.StartInfo.FileName = PathMySql & "\mysqldump.exe"
            Proc.StartInfo.Arguments = "--user=" & BK_Usuario.Text & " --password=" & BK_Senha.Text & " --host=" & BK_Host.Text & " --port=" & BK_Porta.Value & " --databases MySQL " & NomeDataBase & " -r " & Pasta & NomeDataBase & ".sql"
            If Proc.Start() = False Then
                Proc.WaitForExit()
            End If
            'Log
            Me.Invoke(New TreathGeral(AddressOf Me.AdicionaLog), "S", "Backup de '" & NomeDataBase & "' completado")
            'Log
            Me.Invoke(New TreathGeral(AddressOf Me.AdicionaLog), "S", "Compressão ( ZIP ) de '" & NomeDataBaseSQL & " para '" & NomeDataBaseZIP)
            'Compacta o arquivo SQL gerado
            Dim arquivoOriginal() As Byte = File.ReadAllBytes(NomeDataBaseSQL)
            Dim arquivoDestino As FileStream = File.Create(NomeDataBaseZIP)
            Dim zip As New GZipStream(arquivoDestino, CompressionMode.Compress, True)
            zip.Write(arquivoOriginal, 0, arquivoOriginal.Length)
            zip.Close()
            Dim DadosArquivoOriginal As FileInfo = New FileInfo(NomeDataBaseSQL)
            Dim DadosArquivoDestino As FileInfo = New FileInfo(NomeDataBaseZIP)
            'Log
            Me.Invoke(New TreathGeral(AddressOf Me.AdicionaLog), "S", "Compressão completada ( " & DadosArquivoOriginal.Length & " byts compactados em " & DadosArquivoDestino.Length & " bytes )")
            'Deleta o arquivo SQL
            If File.Exists(NomeDataBaseSQL) = True Then
                My.Computer.FileSystem.DeleteFile(NomeDataBaseSQL)
            End If
            'Log
            Me.Invoke(New TreathGeral(AddressOf Me.AdicionaLog), "S", "Deletado '" & NomeDataBaseSQL)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

Onde:
Pasta -> é o diretório ou pasta onde está o backup do arquivo do MYSQL feito
NomeDataBase -> nome do arquivo do MYSQL no caso estou usando MASTER_HORAS.
NomeBackup -> nome do arquivo ZIP que vai ser feito no caso faço o seguinte arquivo: "BCK_ DATA DO DIA E HORA QUE ESTÁ SENDO FEITO O BACKUP ".

Alguém pode me falar o que estou fazendo de errado de acordo com o erro apresentado acima.

Obrigado.


elmo

Resposta escolhida #484067 - 21/08/2018 08:29:04

OCELOT
SOROCABA
Cadast. em:Março/2012


If Proc.Start() = False Then
    Proc.WaitForExit()
End If

Aqui você está iniciando o processo mas não está esperando por ele terminar, já que o Proc.Start() vai retornar True, experimente tirar o if e deixar só
Proc.Start()
Proc.WaitForExit()




#484074 - 21/08/2018 14:12:11

ELMO01
BELO HORIZONTE
Cadast. em:Agosto/2004


OCELOT muito obrigado sua sugestão foi acertada.


elmo

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por ELMO01 em 21/08/2018 14:12:24