Ola Pessoal !
Existe alguma forma de eu executar um comando de SO, por exemplo, a execução de um arquivo .bat via um procedure (PL/SQL) ?
Tenho um software que faz uma especie de validação da qualidade de dados, precisaria fazer uma população em uma tabela temporaria (até ai beleza) e após a população executar esse aplicativo via SO.
Outra duvida, após a validação dos dados(via o software citado), tenho que transferi-los da tabela temporaria para permanente. Existe uma forma de eu saber o momneto que este software terminou esta validação via banco de dados. Por exemplo o encerramento da sessao?
Digo isso porque minha ideia era via procedure começar essa população automaticamente para tabela permanente após o termino dessa validação.
Execução de comando SO
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Olá Gpereira,
Dependendo da sua versão de banco de dados, você poderia criar uma procedure JAVA para executar comandos do sistema operacional. Eu cheguei a desenvolver uma assim para o ORACLE 9i enterprise.
Com esta procedure JAVA, você poderia executar seu arquivo BAT. E você poderia chamar esta rotina JAVA de dentro de um bloco PL/SQL. Assim fica fácil você identificar quando o BAT foi executado.
Só que eu não saberia exatamente como você poderia identificar se o BAT foi executado ou não com sucesso. Uma sugestão seria o BAT gerar arquivo de LOG com o resultado da execução(ex: RESULTADO.BAD, RESULTADO.OK).
Com a mesma rotina JAVA, você poderia verificar qual arquivo foi gerado e optar por continuar ou não o processamento.
Existe uma série de passos para permitir que a sua rotina JAVA possa executar comandos do sistema operacional.
Abaixo, segue um artigo da ORACLE que explica como implementar uma rotina que execute comandos do SO em uma rotina PL/SQL.
http://www.oracle.com/technetwork/datab ... 129519.pdf
Já o link abaixo é mais direto e explica o processo de forma passo-a-passo:
http://www.toadworld.com/Blogs/tabid/67 ... L-SQL.aspx
Abraços e boa sorte,
Sergio Coutinho
Dependendo da sua versão de banco de dados, você poderia criar uma procedure JAVA para executar comandos do sistema operacional. Eu cheguei a desenvolver uma assim para o ORACLE 9i enterprise.
Com esta procedure JAVA, você poderia executar seu arquivo BAT. E você poderia chamar esta rotina JAVA de dentro de um bloco PL/SQL. Assim fica fácil você identificar quando o BAT foi executado.
Só que eu não saberia exatamente como você poderia identificar se o BAT foi executado ou não com sucesso. Uma sugestão seria o BAT gerar arquivo de LOG com o resultado da execução(ex: RESULTADO.BAD, RESULTADO.OK).
Com a mesma rotina JAVA, você poderia verificar qual arquivo foi gerado e optar por continuar ou não o processamento.
Existe uma série de passos para permitir que a sua rotina JAVA possa executar comandos do sistema operacional.
Abaixo, segue um artigo da ORACLE que explica como implementar uma rotina que execute comandos do SO em uma rotina PL/SQL.
http://www.oracle.com/technetwork/datab ... 129519.pdf
Já o link abaixo é mais direto e explica o processo de forma passo-a-passo:
http://www.toadworld.com/Blogs/tabid/67 ... L-SQL.aspx
Abraços e boa sorte,
Sergio Coutinho
-
- Rank: DBA Sênior
- Mensagens: 317
- Registrado em: Seg, 16 Nov 2009 4:50 pm
- Localização: São Paulo - SP
Cara, tem um material que parece ser oficial da Oracle que detalha este caso, isso talvez resolva o seu problema, segue o link:
http://www.oracle.com/technetwork/datab ... 129519.pdf
Obs.: Não sei se é possível anexar arquivos no fórum. Alguém saberia me responder?
Abçs.,
http://www.oracle.com/technetwork/datab ... 129519.pdf
Obs.: Não sei se é possível anexar arquivos no fórum. Alguém saberia me responder?
Abçs.,
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes