dcaixeta 0 Denunciar post Postado Novembro 12, 2007 Já uso o text_io para ler e gerar arquivos e estou precisando fazer o mesmo procedimento em uma pasta onde o servidor com o banco de dados Oracle está instalado. Criei todos os procedimentos para usar o Utl_file e até ai deu tudo certo. já consegui ler e gerar arquivos. Mas agora estou tentando executar um arquivo .bat (arquivo em lote), gostaria de saber se tem como executar este tipo de arquivo? se tem, qual é o procedimento correto? Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 13, 2007 Para executar um arquivo de Lote (Batch), não utilize UTL_FILE e sim utilize EXTERNAL PROCEDURES. Abraços, Compartilhar este post Link para o post Compartilhar em outros sites
dcaixeta 0 Denunciar post Postado Novembro 13, 2007 ok, obrigado pela dica. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 15, 2007 :D Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Novembro 21, 2007 Opa! Também você poderia tentar criar um bloco anônimo PL-SQL que utilizasse o pacote UTL_FILE e tentar chamar um JOB... Existe um tipo específico de JOB que executa comandos no sistema operacional, seria um bom estudo... http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 23, 2007 Nesse caso do Montilla seria o DBMS_SCHEDULER que tem somente no Oracle 10G. Ele pode fazer isso essa tarefa também. Abraços, Compartilhar este post Link para o post Compartilhar em outros sites
dcaixeta 0 Denunciar post Postado Novembro 23, 2007 conforme dicas apresentadas, estou pesquisando sobre o assunto. obrigado, Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 26, 2007 :D Compartilhar este post Link para o post Compartilhar em outros sites
dcaixeta 0 Denunciar post Postado Dezembro 20, 2007 oi, pessoal estive fora deste projeto durante um tempo, mas retornei e conforme dicas acima consegui resolver o meu problema. Deixo registrado aqui alguns itens que utilizei, talves possa ser util à alguém. Durante as pesquisas encontrei varias materias sobre a utilização do UTL_FILE e dbms_scheduler Job inclusive aqui no forum. - Ativar os serviços do JOB - Criar permissão diretorio UTL_FILE_DIR dentro do arquivo "init.ora". conforme exemplo abaixo será autorizado a executar o pacote no sistema em todos os diretórios da maquina. ################################ compatible = 9.0.0 db_name = ORACLE utl_file_dir = * ################################ - na utilização tanto no UTL_FILE ou bms_scheduler Job pelo SQL/Plus funcionaram perfeitamente. mas ao utilizar os procedimentos pelo forms6i deparei com alguns problemas. (falta de permissões e alguns outros detalhes) desta forma utilizei os comandos abaixo: alter system set utl_file_dir='*' scope=spfile grant CREATE ANY JOB to <usuario>; grant execute on dbms_scheduler to <usuario>; grant create external job to <usuario>; e para executar um arquivo batch usei o exemplo abaixo, mas conforme ainda estou em pesquisa de uso destes procedimentos não afirmo se estes seriam os melhores procedimentos. estou colocando somente algumas dicas. -- executando um arquivo batch na maquina que está instalado o banco de dados. begin dbms_scheduler.create_job ( job_name =>'atualizar_teste', job_type =>'executable', job_action =>'c:\atualizar_teste.bat > nul', enabled => true, auto_drop => true ); commit; end; / (a descrição nul somente com um L é porque se trata do windows e para usar o dbms_scheduler no forms utilizei atraves de pesquisa no DB e executando atraves de função) Quanto a utilização do UTL_FILE vocé encontra aqui no forum alguns modelos. e atraves destes topicos consegui resolver o meu problema. obrigado pela ajuda de todos. abraço. Compartilhar este post Link para o post Compartilhar em outros sites