Necessito fazer a atualização do meu sistema automático

15/10/2019

0

Necessito fazer a atualização do meu sistema automática já que hoje é feita manualmente, eu precisaria criar uma rotina onde meu cliente conseguiria facilmente atualizar o executável e os arquivos de Schema e relatórios ou que isso seja feito automaticamente por algum tipo de serviço, e que conseguisse de dentro do meu sistema rodar o script para atualização dos objetos no banco de dados(Oracle).

Se alguém tiver uma ideia e puder me ajudar, agradeço desde já.
Neto Vieira

Neto Vieira

Responder

Post mais votado

15/10/2019

Olá Neto!
Bom é bem possível que utilize o delphi versões antes da 10, acredito, e tudo é gerado em um único executável (não tem nada de errado, apenas imaginando).

Dei manutenção em um sistema assim e foi um pouco trabalhoso mas valeu, aprendi bastante.

A ideia é atualizar automaticamente, então, no meu caso eu estabeleci um roteiro, pois tinha a facilidade do programa realizava uma conexão com um FTP de forma obrigatória, então tinha um facilitador.

O roteiro que utilizava:
1) ao abrir o sistema ele conectava com o ftp e realizava o download de um arquivo com formato .ini e continha uma linha versao_atual=v100x
2) conferia a versão atual do arquivo e a versão atual do sistema, caso divergente o sistema realizava o download do novo programa(*) do site, endereço especifico com o instalador do programa
3) quando concluído e a confirmação do sucesso do download, a rotina executava um programa secundário que encerrava o programa principal e iniciava a instalação da nova versão.
(*) o novo programa é o pacote de instalação gerado pelo INNO Setup.

Caso queira discutir sobre este item entre em contato.

Espero ter apontado para uma direção na solução do seu problema.

Até, e sucesso!

Att

Luiz Vichiatto

Luiz Vichiatto
Responder

Mais Posts

15/10/2019

Neto Vieira

A parte de baixar o novo executável comparando a versão eu entendi e realmente não é meu maior problema. O que está me quebrando a cabeça é como eu faço para conseguir rodar o Script das alterações do Banco. Sendo que não faço ideia de como fazer isso no Oracle.

Atenciosamente, Neto.
Responder

15/10/2019

Luiz Vichiatto

Hummmm, isto você tem que ter um usuário do tipo 'owner', com permissão para rodar script e grants de banco.

Você fará a conexão com este usuário "root/admin" do banco, executa os scripts, que estará no código do programa secundário ou criptografadas, execute os scripts, e de as permissões necessárias para todos os usuários.

E pronto. (Nossa parece simples :D:D:D:D)

Requer testar, testar e testar, até encontrar um padrão específico.

Você terá que se utilizar um segundo programa para isto, o mesmo programa não consegui, devido ao fato que o atualizador/instalador ficava acusando que ainda estava em execução.


Responder

16/10/2019

Neto Vieira

Sim, mas não quero que meu cliente tenha acesso o banco diretamente, quero que ele importe um arquivo com os scripts dentro do meu sistema e atualize no banco de dados. Não tenho ideia de com fazer meu sistema importa direto para dentro do oracle o script.
Responder

16/10/2019

Luiz Vichiatto

Sim, mas não quero que meu cliente tenha acesso o banco diretamente, quero que ele importe um arquivo com os scripts dentro do meu sistema e atualize no banco de dados. Não tenho ideia de com fazer meu sistema importa direto para dentro do oracle o script.


Se você passou ao cliente todas as definições de cada arquivo para importação tem que ser gerado, você pode fazer a importação por 'bulk insert' (pesquise sobre o assunto).

https://www.devmedia.com.br/como-importar-dados-para-o-sql-server-usando-o-bulk-insert/6009
Responder

16/10/2019

Neto Vieira

Dei uma olhada porem com o Oracle é diferente a questão do Bulk Select.
Responder

16/10/2019

Luiz Vichiatto

Dei uma olhada porem com o Oracle é diferente a questão do Bulk Select.


Acredito que a linha para sua solução pode passar por este caminho, dentro do sistema você terá que avaliar se vai ser viável ou não.
Implementar não deve ser o problema, agora se financeiramente vai valer a pena é outra cosia.
Você pode criar um módulo, ou utilizar ferramenta de ETL, ou desenvolva como um outro programa. Estamos ultrapassando para área da especulação de como pode ser, e já está fora do que você quer, mas idéias não vão faltar.

Espero ter ajudado.

Att
Bons códigos!

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar