Ciao a tutti.
Vorrei creare una copia di un db MySql zippata.
Da riga di comando lo faccio tramite questo codice, e funziona perfettamente :
mysqldump -uroot -pMiaPassword NomeDatabase | gzip > dbzippato.sql.gz
Ho provato a farlo da Vb.Net usando questo codice:
Dim myProcess As New Process()
myProcess.StartInfo.FileName = "cmd.exe"
myProcess.StartInfo.WorkingDirectory = Application.StartupPath
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.RedirectStandardInput = True
myProcess.StartInfo.RedirectStandardOutput = True
myProcess.StartInfo.RedirectStandardError = True
myProcess.Start()
Dim myStreamWriter As StreamWriter = myProcess.StandardInput
Dim mystreamreader As StreamReader = myProcess.StandardOutput
Dim mystreamerror As StreamReader = myProcess.StandardError
myStreamWriter.WriteLine("mysqldump --user=root --password=MiaPassword --host=localhost NomeDatabase | gzip > dbzippato.sql.gz")
myStreamWriter.WriteLine(String.Format("exit"))
myStreamWriter.Close()
Dim msg As String = mystreamerror.ReadToEnd()
mystreamerror.Close()
If msg.Length > 0 Then MsgBox(msg)
myProcess.WaitForExit()
myProcess.Close()
Ma mi ritorna errore "comando gzip non riconosciuto" .
Invece se faccio semplicemente una copia del database:
myStreamWriter.WriteLine("mysqldump --user=root --password=MiaPassword --host=localhost NomeDatabase > copiadb.sql")
la copia del database viene correttamente effettuata.
Come posso risolvere?
Grazie
Chico