priajf 0 Denunciar post Postado Setembro 19, 2011 Já criei esse topico no Mysql, mais não tinha visto esse post aqui. ENtão lá vai minha dúvida Preciso importar um arquivo que está em .zip. Como faço para importar nesse caso. Estou usando aqui o forms builder.. Desde já agradeço Att Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 19, 2011 Primeiro passo abir o zip. Segundo passo, qual o conteúdo do zip ? É sobre Oracle ou Mysql ? Compartilhar este post Link para o post Compartilhar em outros sites
priajf 0 Denunciar post Postado Setembro 19, 2011 Como faço para abrir o zip, quando clico abrir arquivo o código esta assim. :ds_arquivo := GET_FILE_NAME(V_PATH,null,File_Filter=> '*.ZIP)'); Não da erro ao abrir, mais da erro na importação; O conteúdo do zip é um arquivo txt. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 19, 2011 Isto faz parte de alguma rotina ? É parte de um import/export via RMAN ? Que erro dá na importação ? Compartilhar este post Link para o post Compartilhar em outros sites
priajf 0 Denunciar post Postado Setembro 19, 2011 Acho que meu caso aqui, o problema está em abrir. o zip. Pq o arquivo dentro dele, quando descompactado abre normal e importa tranquilo tbm. Então acho que esse seria meu caso, mais como fazer para abrir então um arquivo zip, direto, como uma pasta normal? FAz esse código na hora de importar arq := text_io.fopen(:ds_arquivo,'r'); text_io.get_line(arq,linha); begin loop m_fg_importa := true; ----- pra cada linha, separa os campos text_io.get_line(arq,linha); pos := instr(linha,'CODIGO'); if pos = 0 then j := 1; for i in 1..10 loop pos := instr(linha, ';', j); m_campo := substr(linha, j, pos - j); j := pos + 1; if i = 1 then m_cd_red := substr(m_campo, 1, 4); elsif i = 2 then m_cd_pf := substr(m_campo, 1, 7); end if; end loop; --Faz update na tabela pessoa_fisica. BEGIN if m_cd_redome is not null then update pessoa_fisica set cd_red = m_cd_red where cd_pessoafisica = m_cd_pf; else controle_de_msg('NOT','Não possui cadastro no RED'); END IF; END; end if; end loop; exception when no_data_found then null; when others then controle_de_msg('NOT', 'Erro não tratado! Informe o suporte!' || ' (' || sqlerrm || ')'); end; text_io.fclose(arq); forms_ddl('commit'); controle_de_msg('NOT','Arquivo importado com sucesso!'); O erro que da é esse ORA-01403. Não encontra nada. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 19, 2011 ORA-01403: no data found Cause: No data was found from the objects. Action: There was no data from the objects which may be due to end of fetch. Fonte Estranho pois é tratado pelo exception. Compartilhar este post Link para o post Compartilhar em outros sites
priajf 0 Denunciar post Postado Setembro 19, 2011 ORA-01403: no data found Cause: No data was found from the objects. Action: There was no data from the objects which may be due to end of fetch. Fonte Estranho pois é tratado pelo exception. Pois então. Isso só quando tento abrir o zip, quando abro em csv ou txt, faz a importação tranquilo, sem problemas. Teria alguma forma, de quando clicar em abrir, eu ir abrindo o zip como uma pasta normal. O erro está dando nessa linha text_io.get_line(arq,linha); Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 19, 2011 Acho que a solução é abrir o zip na mão e ler o arquivo importado. Abrir zip via Oracle, desconheço. Compartilhar este post Link para o post Compartilhar em outros sites
priajf 0 Denunciar post Postado Setembro 19, 2011 Acho que a solução é abrir o zip na mão e ler o arquivo importado. Abrir zip via Oracle, desconheço. POis eh, o problema é o usuário pensar assim. RS Fiz algo assim agora, entro no zip, mais não poderia ser assim, porque sempre ira mudar o nome da pasta :ds_arquivo := GET_FILE_NAME('nome do caminho\arquivo.zip',null,File_Filter => '.zip%'); Até funcionou, entro sem precisar descompactar, porém aquilo que falei ele sempre vai mudar o nome da pasta. Mais alguma dica?? O negocio ta difícil.... Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 19, 2011 Não trabalho com Forms, pouco posso ajudar nisto. Compartilhar este post Link para o post Compartilhar em outros sites
priajf 0 Denunciar post Postado Setembro 20, 2011 Não trabalho com Forms, pouco posso ajudar nisto. Mesmo assim, muito Obrigada pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
NJM 0 Denunciar post Postado Setembro 21, 2011 Não teria como você. descompactar o arquivo de dentro do forms usando um descompactador que aceite linha de comando (dos/unix) talvez este resolva , (não testei), descompacte diretamente para um diretório e leia de lá, depois exclua o arquivo. Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
priajf 0 Denunciar post Postado Setembro 22, 2011 Não teria como você. descompactar o arquivo de dentro do forms usando um descompactador que aceite linha de comando (dos/unix) talvez este resolva , (não testei), descompacte diretamente para um diretório e leia de lá, depois exclua o arquivo. Espero ter ajudado. Olá, na empresa aqui decidimos descompactar atraves da rede. De tempos em tempos. Ou seja, a cada 5 minutos verifica se possui alguma arquivo .zip e descompacta. Ai quando a pessoa for fazer a importação os arquivos csv já estariam descompactados. Obrigada pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 21, 2011 Exatamente, O maior problema que está usando o TEXT_IO do Forms/Reports 6i/10g, então só arquivo texto, porém, tu pode criar uma rotina no seu Forms que ao fornecer o arquivo ZIP, use pacotes com JAVA que faça a descompactação do arquivo interagindo com o Sistema Operacional e execute um WINZIP dá vida via linha do comando. Ao extrair o arquivo TXT para um diretório que deseja, use o TEXT_IO para ler o arquivo e carregar os dados para o banco de dados. Abraços, Compartilhar este post Link para o post Compartilhar em outros sites