none
Como criar um DB e importar tabelas utilizando .sql no MySql? RRS feed

  • Pergunta

  • Oi,

     

    Tenho uma aplicação, fiz um SFX para instalar esta aplicação, onde instalo o MySql e defino usuário e senha, até aqui tá tdbem!

     

    Preciso criar um aplicativo para rodar no final da instalação, que faça o processo de criar o banco de dados e importar as tabelas.

     

    Por enquanto, só estou conseguindo restaurar as tabelas. Quando insiro a linha de criação do banco ele não cria em nem importa as tabelas.

     

          DROP DATABASE IF EXISTS `dbgesdoc`;
          CREATE SCHEMA `dbgesdoc` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
          USE `dbgesdoc`;

     

    Este é o código utilizando para restauras as tabelas:

     

    public void restore(string filename)

    {

    String _conexaoMySQL = "";

    MySqlConnection con = null;

     

    String host = "localhost";  //Local do Servidor

    String user = "root";       //Usuário

    String password = "gerente";    //Senha de acesso do Banco de Dados

    String database = "dbgesdoc";   //Nome do Banco de Dados

     

    _conexaoMySQL = "Data Source=" + host +

                    ";User ID=" + user +

                    ";Password=" + password +

                    ";Database=" + database;

    try

    {

    // Faz a leitura do arquivo na unidade C:\

    StreamReader file = new StreamReader(filename);

    string input = file.ReadToEnd();

    file.Close();

     

    ProcessStartInfo psi = new ProcessStartInfo();

    psi.FileName = "mysql";

    psi.RedirectStandardInput = true;

    psi.RedirectStandardOutput = false;

    psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}", user, password, host, database);

    psi.UseShellExecute = false;

     

    Process process = Process.Start(psi);

    process.StandardInput.WriteLine(input);

    process.StandardInput.Close();

    process.WaitForExit();

    process.Close();

    }

    catch (IOException ex)

    {

    throw ex;

    }

    }

     

    Alguém poderia me ajudar com esta questão?!

     

    Obrigado!

     

    Att,

     


    Sérgio Pitta
    sábado, 27 de novembro de 2010 14:35

Respostas

Todas as Respostas