ATUALIZAR BASE DE DADOS DOS CLIENTES - FIREBIRD

TRTNCG 19/08/2010 14:22:56
#350701
Olá Pessoal Boa Tarde!

Gostaria de dicas para resolver o meu problema. Tipo tenho um software rodando em alguns clientes com base de dados Firebird. Só que vez por outra crio novos campos para novas funções. Alguém teria um idéia para tipo, sincronizar a base aqui minha com a dos clientes que estão desatualizadas para assim ter uma única base em todos os clientes, ou levar uma programinha para quando for atualizar ou seja copiar o novo executável crie logo os campos. Evitando problemas ao executar o novo executável.
JCARLOS 19/08/2010 14:42:16
#350705
Resposta escolhida
No Load do seu mdiPrincipal vc pode por uma rotina checando se ainda não tem o campo novo na tabela. Caso não tenha, execute um comando em sql para criá-lo do tipo: [Ô]alter table MinhaTabela add CampoNovo int default 0 not null[Ô].
LLAIA 19/08/2010 14:46:34
#350707
acredito que esse software possa te ajudar

http://www.maisbytes.com.br/?p=101
FEDERHEN 19/08/2010 14:54:17
#350712
USO A SOLUÇÃO ABAIXO E FUNCIONA MUITO BEM:

Coloque no Load do MdiPrincipal

On error resume next
conexao.execute [Ô]alter table tabela add campo1 int default 0[Ô]
conexao.execute [Ô]update campo1 with 0 where campo1 is null[Ô]

LUIS.HERRERA 19/08/2010 16:35:06
#350724
LLaia você já testou isso?
é seguro?
Funciona?
Pena que não tenha outros bancos, como SQL, Access, MySQL, etc...
TRTNCG 20/08/2010 11:14:04
#350776
LLaia eu baixei e tentei usar

Utilizo o Windows 7 Ultimate e o Firebird 2.0.5

Só que quando peço para testar a conexão da a Mensagem: Unavailable database.

Sendo o que o Fire está rodando normalmente
MARCOSLING 20/08/2010 11:41:52
#350783
Seria interessante se vc colocasse versão no banco de dados.
Assim, a sua aplicação poderia verificar a versão e aplicar as devidas correções no banco.


LLAIA 20/08/2010 11:58:42
#350786
Citação:

:
LLaia você já testou isso?
é seguro?
Funciona?
Pena que não tenha outros bancos, como SQL, Access, MySQL, etc...



Infelizmente sobre segurança não posso confirmar, mas o ideal seria mandar o executável para o http://www.virustotal.com/ pra termos uma ideia. Ainda não usei em clientes, mas fiz um teste simples aqui e rodou bem. Uma coisa notei aqui é que se o banco desatualizado tem uma tabela que não tem no atualizado, o sw apaga a tabela, ou seja, no fim os dois ficam iguais na estrutura..

Fiz o teste ainda há pouco, façam aí também. http://www.virustotal.com/file-scan/report.html?id=19b8de05488706ae277cb3d9090cc56aa514a6b2e7986d6c5fab602d6eaf8521-1282315596


Citação:

:
LLaia eu baixei e tentei usar

Utilizo o Windows 7 Ultimate e o Firebird 2.0.5

Só que quando peço para testar a conexão da a Mensagem: Unavailable database.

Sendo o que o Fire está rodando normalmente



Aqui foi de boa mas uso winXP, e FB 2.1. Tem um detalhe interessante que o autor do sw fez pra FB 1.5 e funcionou aqui com o 2.1, é bem provável que funcione aí com o 2.0
MARCELOKROL 20/08/2010 13:33:45
#350798
usei e uso de vez em quando este aqui:
http://www.clevercomponents.com/downloads/datapump/dpdownload.asp

é muito bom, roda e funciona direitinho, ja sincronizei bases de dados com 400mb e funcionou certinho, demorou um pouco pelo tamanho da base mais funcionou.

grande abraços
JULIO 20/08/2010 17:41:08
#350826
Ô cara eu fiz o seguinte:
Na minha base de dados criei um tabela onde estão os parâmetros do sistema. Nesta tabela tem um campo onde eu informo o número da versão do soft.
Ao abrir o programa, uma rotina verifica se a versão está defasada.
Se o número da versão for inferior ao da atual, eu rodo uma rotina que cria os determinados campos para as diferentes tabelas e ao final eu gravo o numero da versão atual na tabela parâmetros.
Ou seja, não preciso ficar manipulando base de dados, o próprio sistema é quem faz isso para mim...
Entendeu???
Um abraço
Julio
JetCupom
Tópico encerrado , respostas não são mais permitidas