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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar