Pessoal, o minimo e default é 1024, e o máximo é 32767 bytes...
Abaixo um script que eleva ao máximo este detalhe, utilizado em uma table com 997 columns.. o exemplo usa o mesmo esquema de separar as colunas com ";".... SET SERVEROUTPUT ON SIZE 32767 DECLARE l_utl_dir VARCHAR2(100) := '/usr/tmp'; l_utl_file VARCHAR2(100) := 'teste_edu.txt'; l_utl_id UTL_FILE.FILE_TYPE; l_header VARCHAR2(32767) := null; BEGIN DBMS_OUTPUT.enable(32767); l_utl_id := UTL_FILE.FOPEN( location => l_utl_dir, filename => l_utl_file, open_mode => 'w', max_linesize => 32767 ); /* increase the size of the line of 1024 to 32767 bytes */ FOR c IN ( SELECT * FROM DBA_TAB_COLUMNS WHERE TABLE_NAME = 'EDWBG_ORGA_LEG_ENTITY_LCV' ORDER BY COLUMN_ID ) LOOP l_header := l_header || c.COLUMN_NAME || ';'; END LOOP; UTL_FILE.PUT_LINE( file => l_utl_id, buffer => l_header ); DBMS_OUTPUT.PUT_LINE( 'Bytes in line: ' || LENGTH( l_header ) ); UTL_FILE.FCLOSE( file => l_utl_id ); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE( 'ERRO: ' || SQLERRM ); IF UTL_FILE.IS_OPEN( file => l_utl_id ) THEN UTL_FILE.FCLOSE ( file => l_utl_id ); END IF; END; zidvlauns <[EMAIL PROTECTED]> escreveu: Além de apontar para um diretório válido (criado com as permissões necessárias), o que aparentemente já foi feito pq conseguiu criar um arquivo menor, é necessário definir o tamanho de caracteres máximos por linha. Para ver detalhes sobre como fazer isso veja o material abaixo: http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#i1003526 --- Em oracle_br@yahoogrupos.com.br, "Bruno Lorenzini" <[EMAIL PROTECTED]> escreveu > > Sim. A partir versão 9i ou 10g (não lembro ao certo) só é possível apontar > para uma pasta usando um directory. > > > > Sds, > > > > _____ > > De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em > nome de Alexsandro Haag > Enviada em: segunda-feira, 26 de maio de 2008 09:12 > Para: oracle_br@yahoogrupos.com.br > Assunto: [oracle_br] Re: UTL_FILE - UTL_FILE.PUT_LINE > > > > Olá Wagner, > usei poucas vezes utl_file, mas até onde me lembro não consigo > apontar diretamente para um caminho qualquer. Preciso criar um > "directory" no Oracle que aponte para uma pasta no Servidor e dar > grants de leitura e escrita para o usuário que irá gravar neste directory. > > Peço que me corrija(m) se estiver errado, mas creio que seja este o > teu problema. > > Att. > Alex > > --- Em [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> > os.com.br, Wagner Franze Junior > <zenfra123@> escreveu > > > > > > > > Bom dia a todos, > > > > Estou com problemas para gerar um arquivo .txt com o UTL_FILE. > Preciso gerar extrações de tabela, porém, preciso dos nomes dos campos > assim como os os registros separados com ; ( ponto e virgula) , mas já > estou encontrando problemas no momento em que insiro a primeira linha > no arquivo .txt, é exibido o erro que colo logo abaixo para que possam > ver. A tabela que estou extraindo os dados possue 256 colunas e quando > faço teste com tabelas possuindo menos colunas o arquivo é gerado > normalmente. > > > > > > Existe limite em bytes para o tamanho do texto por linha? > > > > > > Erro exibido > > ---------------------------------------------------------- > > ERROR at line 1: > > ORA-29285: file write error > > ORA-06512: at "SYS.UTL_FILE", line 140 > > ORA-06512: at "SYS.UTL_FILE", line 785 > > ORA-06512: at line 29 > > > > > > Código de teste para geração do cabeçalho: > > ---------------------------------------------------------- > > > > DECLARE > > V_ARQUIVO UTL_FILE.FILE_TYPE; > > V_CABECALHO VARCHAR(6000); > > V_CONT PLS_INTEGER; > > BEGIN > > > > > > V_ARQUIVO := UTL_FILE.FOPEN('/work/comum','testecol.txt','w'); > > V_CONT := 0; > > > > FOR REG IN ( > > SELECT > > DBA_TAB_COLS.COLUMN_NAME > > FROM > > DBA_TAB_COLS > > WHERE > > DBA_TAB_COLS.TABLE_NAME = 'ESTABELECIMENTOS') > > LOOP > > > > IF (V_CONT = 0 ) THEN > > V_CONT := 1; > > V_CABECALHO := REG.COLUMN_NAME ||';'; > > ELSE > > V_CABECALHO := V_CABECALHO ||';'|| REG.COLUMN_NAME; > > END IF; > > > > END LOOP; > > > > UTL_FILE.PUT_LINE(V_ARQUIVO, > > V_CABECALHO, > FALSE); > > > > UTL_FILE.FCLOSE(V_ARQUIVO); > > > > END; > > / > > > > > > ___________________________________ > > > > > > Wagner Franze Junior > > E-MAIL: zenfra123@ > > MSN: franze_jr@ > > Brasil - São paulo - Sp > > > > :-) > > > > > > > > Abra sua conta no Yahoo! Mail, o único sem limite de espaço > para armazenamento! > > http://br.mail. <http://br.mail.yahoo.com/> yahoo.com/ > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > --------------------------------- Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]