ATUALIZAR BASE DE DADOS DOS CLIENTES - FIREBIRD
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.
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.
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[Ô].
acredito que esse software possa te ajudar
http://www.maisbytes.com.br/?p=101
http://www.maisbytes.com.br/?p=101
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[Ô]
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[Ô]
LLaia você já testou isso?
é seguro?
Funciona?
Pena que não tenha outros bancos, como SQL, Access, MySQL, etc...
é seguro?
Funciona?
Pena que não tenha outros bancos, como SQL, Access, MySQL, etc...
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
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
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.
Assim, a sua aplicação poderia verificar a versão e aplicar as devidas correções no banco.
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
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
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
Ô 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
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