Hola, se puede ejectuar un SQL Script, sin necesidad de entrar a consola, lo que pasa que muchas veces no tienen instalado MySQL y necesito que se actualice la BD mediante el script y cree un Log,
yo tengo este codigo pero usa la consola,
Gracias.
yo tengo este codigo pero usa la consola,
Código (vbnet) [Seleccionar]
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim dgRespuesta As DialogResult
Dim RutaMysqlContra, RutaMysql As String
dgRespuesta = MsgBox("<¿> ¿Deseas actualizar la base de datos? <?>", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
If (dgRespuesta = Windows.Forms.DialogResult.Yes) Then
Dim Servidor, Usuario, Bd, Puerto, Pass As String
Servidor = Me.txtServidor.Text
Usuario = Me.txtUsuario.Text
Bd = Me.txtNombreBd.Text
Puerto = Me.txtPuerto.Text
Pass = Me.txtContraseña.Text
Me.BackgroundWorker1.ReportProgress(50)
Try
If Me.txtContraseña.Text <> "" Then
RutaMysqlContra = Application.StartupPath & "\update.bat"
'Shell("""" & RutaMysqlContra & """", AppWinStyle.Hide, True)
Microsoft.VisualBasic.Interaction.Shell("cmd.exe /C mysql -h " & Servidor & " -u " & Usuario & " -p" & Pass & " -P " & Puerto & " -e ""source " & fbdCarpetas.SelectedPath & "\update.sql" & """ -vvv " & Bd & " > ""C:\log.txt"" ", AppWinStyle.Hide, True)
Else
RutaMysql = Application.StartupPath & "\Update2.bat"
'Shell("""" & RutaMysql & """", AppWinStyle.Hide, True)
Microsoft.VisualBasic.Interaction.Shell("cmd.exe /C mysql -h " & Servidor & " -u " & Usuario & " -P " & Puerto & " -e ""source " & fbdCarpetas.SelectedPath & "\update.sql" & """ -vvv " & Bd & " > ""C:\log.txt"" ", AppWinStyle.Hide, True)
End If
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
Finally
End Try
Me.BackgroundWorker1.ReportProgress(100)
Else
MsgBox("<¡> El Usuario ha cancelado la actualizacion del programa <!>", MsgBoxStyle.Exclamation)
e.Cancel = True
End If
End Sub
Gracias.