none
Replicar Banco Postgres RRS feed

  • Pergunta

  • Sempre que precisamos dar manutenção a um cliente, precisamos conectar remotamente para pegar um BackUp do banco de dados, gostaria de criar um exe C# para replicar o banco de meu cliente em um servidor externo liberado na internet, salguém tem alguma ideia de como pode ser feito ?


    Rodrigo A. Souza

    segunda-feira, 2 de dezembro de 2019 19:21

Todas as Respostas

  • Rodrigo A.S,

       Vou contar minha experiência, espero que te ajude.

       Eu preciso pegar vários Bancos que estão em MySQL e trazer a estrutura e os dados para o MS SQL Server.

       Para fazer isso eu criei duas conexão aos bancos de dados (MySQL e o MS SQL Server) e pedi para o usuário escolher em uma combobox os servidores e entrar com os usuários e as respectivas senhas. Ilustrando:

    CboDBOrigem.SelectedIndex = CboDBOrigem.FindString("MySQL")
    CboServOrigem.Text = "Saturno"
    TxtUsuOrigem.Text = "root"
    'TxtSenhaOrigem.Text
    
    CboDBDestino.SelectedIndex = CboDBDestino.FindString("MSSQL Server")
    CboServDestino.Text = "Solar\Jupiter"
    TxtUsuDestino.Text = "sa"
    'TxtSenhaDestino.Text 

       Sempre listando o conteúdos do MySQL e do MS SQL Server (mostando todos os Bancos de Daods que temn dentro) e, depois de escolhido o Banco de Dados, mostrando as tabelas internas para o usuário.

       Na hora de copiar os dados usei a classe "SqlBulkCopy", pois ela consegue copiar grades massas de dados muito rapidamente:

    ============================================
    SqlBulkCopy Classe

    https://docs.microsoft.com/pt-br/dotnet/api/system.data.sqlclient.sqlbulkcopy?view=netframework-4.8
    ============================================

    strSQL = "SELECT COLUMN_NAME " &
                    "DATA_TYPE " &
                "FROM information_schema.columns " &
                "WHERE table_name = '" & AlvoDestino.strTabela & "' AND " &
                    "TABLE_SCHEMA = '" & AlvoDestino.strBanco & "' " &
                "ORDER BY COLUMN_NAME "

    []'s,
    Fabio I.
    terça-feira, 3 de dezembro de 2019 11:47