Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JGD

Opnião sobre atualizar DB On-Line e DB Off-Line(Intranet)

Recommended Posts

Olá pessoa,

 

Gostaria da opinião de vocês sobre como trabalhar com dois banco de dados.

Digo: O sistema é Php, irá roda no provedor e também em uma intranet (localhost) do cliente...

 

Ocorre que preciso atualizar as informações do DB On-line para o Off-line; pelo menos um vez por dia.

 

O que vocês acham melhor:

 

a) Criar rotina para ler tabelas por tabela do DB On-Line e ir fazendo update (nas mesma tabelas) no DB Off-Line.

 

b) Baixar o banco todo do On-Line para o Off-line.

 

Detalhe complicador: Tal sistema usa banco de dados MySql e MS Access ao mesmo tempo.

- Para Ms Access creio que de para pegar o banco todo e fazer download...

- Para MySql ?? Nunca precisei fazer algo assim... Nem sei se dá pra pegar o banco todo... Caso positivo. Como?

 

Por isso a dúvida.

Agradeço a eventuais opiniões.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso via PHP (servidor) você também consiga acessar o banco offline, sugiro que faça um script de migração dos dados do MySQL para o MS Access e agende a execução deste script no servidor diariamente (ou no intervalo que precisar).

 

No script PHP você abre as duas conexões e pra cada tabela você faz:

SELECT no MYSQL

INSERT ou UPDATE no MS ACCESS

foreach(tabeladomysql):
    $query = 'SELECT DADOS DA TABELA DO MYSQL';
    while(dados na tabela do mysql):
         // INSERT NA MESMA TABELA NO MS ACCESS
    endwhile;
endforeach;

O banco off é alterado ou é apenas para visualização?

 

Se o banco off não for modificado:

- você pode esvaziar a tabela do ms access antes de começar a migração e inserir todos os registros do mysql

 

Se o banco off também for modificado:

- você terá que bater alguma chave (que não os auto_increments) para saber se deve copiar ou não tal linha

 

 

Fazendo essa rotina acima e agendando, evita trabalho manual no futuro.

 

 

Se você quiser fazer isso manualmente, encontrei uns dois softwares que aparentemente fazem isso (não testei):

http://convertdb.com/access/mysql

http://www.bullzip.com/products/a2m/info.php

 

Material para leitura para ajudar na migração:

http://ftp.nchu.edu.tw/MySQL/tech-resources/articles/active-grid.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

No mysql é possível exportar o banco de dados para um arquivo SQL com o comando https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

 

Andersondanilo, obrigado por opinar...

Mais estes comandos são mais focados para console (não sei bem se é assim a expressão)... Via PHP, não rodarão em servidores compartilhados... Pois precisaram de previlégios,permissões,etc.

Nas hospedagens comuns, tipo Uolhost e Locaweb... Creio que não funcionarão. Pesquisando(antes) achei alguns exepomplos de backups... Teste não rodou... Algume teria algum exemplo que faça o backup MySQL via codigo PHP considerando as limitações de um servidor compartilhado?

Caso via PHP (servidor) você também consiga acessar o banco offline, sugiro que faça um script de migração dos dados do MySQL para o MS Access e agende a execução deste script no servidor diariamente (ou no intervalo que precisar).

 

No script PHP você abre as duas conexões e pra cada tabela você faz:

SELECT no MYSQL

INSERT ou UPDATE no MS ACCESS

foreach(tabeladomysql):
    $query = 'SELECT DADOS DA TABELA DO MYSQL';
    while(dados na tabela do mysql):
         // INSERT NA MESMA TABELA NO MS ACCESS
    endwhile;
endforeach;

O banco off é alterado ou é apenas para visualização?

 

Se o banco off não for modificado:

- você pode esvaziar a tabela do ms access antes de começar a migração e inserir todos os registros do mysql

 

Se o banco off também for modificado:

- você terá que bater alguma chave (que não os auto_increments) para saber se deve copiar ou não tal linha

 

 

Fazendo essa rotina acima e agendando, evita trabalho manual no futuro.

 

 

Se você quiser fazer isso manualmente, encontrei uns dois softwares que aparentemente fazem isso (não testei):

http://convertdb.com/access/mysql

http://www.bullzip.com/products/a2m/info.php

 

Material para leitura para ajudar na migração:

http://ftp.nchu.edu.tw/MySQL/tech-resources/articles/active-grid.html

 

Diego, obrigado por opinar.

Estou mais inclinado a realmente pensar em criar rotinas para ler um banco e atualizar o outro (estrutura de talelas iguas)... Voce falou um item importante os campos auto_increments... Muito obrigado. Vou pensar em como tratar isso. E também, como saber em termos de logica e/ou código...

Quando um banco é mais atual que o outro? Por verificação de data, algum tipo de log???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.