• Viernes 19 de Abril de 2024, 00:23

Autor Tema:  Backup con Mysql y c# HELP!!!  (Leído 1799 veces)

sua18

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Backup con Mysql y c# HELP!!!
« en: Jueves 11 de Julio de 2013, 17:15 »
0
Hola, estoy intentando hacer un backup de la base de datos que tengo en el servidor y no hay manera, he probado con este codigo y nadad, ya no se que hacer.

Haber si alguien puede ayudarme.

private void copia_de_seguridad()
        {
            try
            {
                SaveFileDialog fd;
                string fichero;
                fd = new SaveFileDialog();
                DialogResult dialogo;
                dialogo = fd.ShowDialog();
                if (dialogo == DialogResult.OK)
                {
                    if (fd.FileName != String.Empty)
                    {
                        String linea;
                        fichero = fd.FileName.ToString();
                        System.Diagnostics.Process proc = new System.Diagnostics.Process();
                        proc.EnableRaisingEvents = false;
                        proc.StartInfo.UseShellExecute = false;
                        proc.StartInfo.RedirectStandardOutput = true;
                        proc.StartInfo.FileName = "mysqldump";
                        proc.StartInfo.Arguments = "base_datos --single-transaction --host=DIRECCION IP SERVIDOR --user=USUARIO --password=CONTRASEÑA";
                        Process miProceso;
                        miProceso = Process.Start(proc.StartInfo);
                        StreamReader sr = miProceso.StandardOutput;
                        TextWriter tw = new StreamWriter(fd.FileName, false, Encoding.Default);
                        while ((linea = sr.ReadLine()) != null)
                        {
                            tw.WriteLine(linea);
                        }
                        tw.Close();
                        MessageBox.Show("Copia de seguridad realizada con éxito");
                    }
                }
            }



ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Backup con Mysql y c# HELP!!!
« Respuesta #1 en: Jueves 11 de Julio de 2013, 21:00 »
0
Hola sua18, bienvenido al foro.

Bueno, probe tu codigo, y funciona bien, si pones los valores correctos claro.

Estoy pensando que quizas no pones los parametros correctos (argumentos) de la linea de comandos

Yo probe lo sigueinte suponiendo que la base de datos se llama prueba, el servidor es LOCALHOST (127.0.0.1) usuario root y password mipassword

Código: [Seleccionar]
        public static void copia_de_seguridad()
        {
            try
            {
                SaveFileDialog fd;
                string fichero;
                fd = new SaveFileDialog();
                DialogResult dialogo;
                dialogo = fd.ShowDialog();
                if (dialogo == DialogResult.OK)
                {
                    if (fd.FileName != String.Empty)
                    {
                        String linea;
                        fichero = fd.FileName.ToString();
                        System.Diagnostics.Process proc = new System.Diagnostics.Process();
                        proc.EnableRaisingEvents = false;
                        proc.StartInfo.UseShellExecute = false;
                        proc.StartInfo.RedirectStandardOutput = true;
                        //proc.StartInfo.Arguments =
                        //"base_datos --single-transaction --host=DIRECCION IP SERVIDOR --user=USUARIO --password=CONTRASEÑA";
                        proc.StartInfo.Arguments =
                            "prueba --single-transaction --host=127.0.0.1 --user=root --password=mipassword";

                        System.Diagnostics.Process miProceso;
                        miProceso = System.Diagnostics.Process.Start(proc.StartInfo);
                        StreamReader sr = miProceso.StandardOutput;
                        TextWriter tw = new StreamWriter(fd.FileName, false, Encoding.Default);
                        while ((linea = sr.ReadLine()) != null)
                        {
                            tw.WriteLine(linea);
                        }
                        tw.Close();
                        MessageBox.Show("Copia de seguridad realizada con éxito");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Si no es un error en los argumentos, estoy pensando que quizas el servidor de base de datos no esta en tu maquina local, sino en otra maquina de la red, en cuyo caso no funcionara, puesto que mysqldump no esta instalado en tu maquina local, solo en el servidor, este codigo esta diseñado para un servidor de base de datos que se encuentra en la msima maquina donde tienes instalado el programa, por lo tanto no podra encontrar los archivos necesarios, pero ya que no mencionas cual es el problema especifico que tienes, solo estoy especulando.

Si pudieras ser mas especifico, quizas podramos encontrar la solucion

Saludos :)
« última modificación: Jueves 11 de Julio de 2013, 21:02 por ProfesorX »

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================