Rodrigo, é tudo verdade, mas pelo que o colega lá fala, o que ele está fazendo é num programa SQL mandar um :
INSERT INTO tabelacomLONG values (nn, 'stringcommaisde4milcaracteres'); em sendo isso, a questão Não É limite do databse em si, mas sim da linguagem SQL, no dialeto SQL do banco Oracle uma string só pode ter 4 mil caracteres no máximo, é limitação DA LINGUAGEM SQL.... Pra ele ver que é isso, basta se encapsular num programa PL/SQL, que aí o limite de strings únicas passa a ser o do PL/SQL, que é 32 Kb, abaixo boto um exemplinho.... Robson, só uma coisa : o dataype LONG no banco 10g já foi DEPRECIADO há anos & anos, vc NÃO DEVERIA estar trabalhando com ele no 10g, eles já deveriam ter sido convertidos para LOBs, pois (entre outras vantagens muitas) a Oracle para LOBs já fornece uma API pra se "quebrar" uma string comprida em pedaços manipuláveis pelos limites doSQL e do PL/SQL (é a DBMS_LOB), pra LONGs vc está absolutamente por sua conta.... O exemplinho (com a string editada que senão o yahoo!groups trunca a mensagem, mas faça por inteiro que garanto que funfa) : sys...@10g:SQL>create table t (c1 number, c2 long); Tabela criada. sys...@10g:SQL>get c:\1.sql SP2-0161: linha 1 truncada. 1 insert into T values(1, '1234567890123456789012345678901234567890....stringcommenosde4000caracteres...1234567890123456789012345678901234567890'); 1 linha criada. sys...@10g:SQL>commit; Commit concluído. sys...@10g:SQL>get c:\1.sql 1 insert into T values(1, '1234567890123456789012345678901234567890...stringcomMAISde4000caracteres...12345'); sys...@10g:SQL>/ insert into T values(1, '1234567890....12345' * ERRO na linha 1: ORA-01704: literal de string extenso demais sys...@10g:SQL>get c:\1.sql 1 DECLARE 2 v_string varchar2(32767) := '12345678901234567890..stringcommaisde4000caracteres...12345'; 4 BEGIN 5 insert into T values(1, v_string); 6* END; sys...@10g:SQL>/ Procedimento PL/SQL concluído com sucesso. sys...@10g:SQL>set long 5000 sys...@10g:SQL>select * from t; C1 C2 ------------------ -------------------------------------------------------------------------------- 1 1234567890....01234567890123456789012345678901234567890 1 1234567890....0123456789012345678901234567890123456789012345 sys...@10g:SQL> --- Em oracle_br@yahoogrupos.com.br, Rodrigo Mufalani <mufal...@...> escreveu > > Boa tarde, > > Há um documento chamado database limits. Dê uma olhada em > http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/limits001.htm#i287903 > > Datatype Limits > Datatypes Limit Comments > BFILE Maximum size: 4 GB > > Maximum size of a file name: 255 characters > > Maximum size of a directory name: 30 characters > > Maximum number of open BFILEs: see Comments > The maximum number of BFILEs is limited by the value of the > SESSION_MAX_OPEN_FILES initialization parameter, which is itself limited > by the maximum number of open files the operating system will allow. > BLOB Maximum size: (4 GB - 1) * DB_BLOCK_SIZE initialization parameter > (8 TB to 128 TB) The number of LOB columns per table is limited only by > the maximum number of columns per table (that is, 1000Foot 1 ). > CHAR Maximum size: 2000 bytes > CHAR VARYING Maximum size: 4000 bytes > CLOB Maximum size: (4 GB - 1) * DB_BLOCK_SIZE initialization parameter > (8 TB to 128 TB) The number of LOB columns per table is limited only by > the maximum number of columns per table (that is, 1000Footref 1). > Literals (characters or numbers in SQL or PL/SQL) Maximum size: 4000 > characters > LONG Maximum size: 2 GB - 1 Only one LONG column is allowed per table. > NCHAR Maximum size: 2000 bytes > NCHAR VARYING Maximum size: 4000 bytes > NCLOB Maximum size: (4 GB - 1) * DB_BLOCK_SIZE initialization > parameter > (8 TB to 128 TB) The number of LOB columns per table is limited only by > the maximum number of columns per table (that is, 1000Footref 1). > NUMBER 999...(38 9's) x10125 maximum value Can be represented to > full > 38-digit precision (the mantissa). > -999...(38 9's) x10125 minimum value Can be represented to full > 38-digit precision (the mantissa). > Precision 38 significant digits > RAW Maximum size: 2000 bytes > VARCHAR Maximum size: 4000 bytes > VARCHAR2 Maximum size: 4000 bytes > > Atenciosamente, > > Rodrigo Mufalani > OCP 10g & 11g > OCE RAC 10g R2 > mufal...@... > http://mufalani.blogspot.com > > > > > Mensagem Original: > > Data: 14:47:20 31/07/2009 > > De: Robson Muniz (Terra) <rmunizso...@...> > > Assunto: [oracle_br] ** Insert em Campo LONG ** > > > Srs, estou efetuando um insert em campo LONG, porém, quando efetuo um insert > > com mais de 4000 caracteres, o mesmo diz que estou inserindo valores a mais > > do que o campo suporta. > > > > > > > > Sabem me dizer qual a quantidade de caracteres suportada para um campo tipo > > Long no Oracle 10g ? > > > > > > > > Existe algum parâmetro de banco que possa estar impactando nesse ponto? > > > > > > > > Obrigado a todos. > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > ------------------------------------ > > > > -------------------------------------------------------------------------------------------------------------------------- > >> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > >> inteira responsabilidade de seus remetentes. > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > -------------------------------------------------------------------------------------------------------------------------- > >> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure > >> » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > >> http://www.oraclebr.com.br/ > > ------------------------------------------------------------------------------------------------------------------------ > > Links do Yahoo! > > Grupos > > > > > > > > > > > > > -------------------------------------------------------------------------------- > Na Oi Internet você ganha ou ganha. Além de acesso grátis com > qualidade, você pode ter contas ilimitadas de email com 1 giga cada uma, > suporte grátis e muito mais. Baixe grátis o Discador Oi em > http://www.oi.com.br/discador e comece a ganhar. > > Agora, se o seu negócio é voar alto na internet, > assine Oi Internet Banda Larga e ganhe o modem grátis. Clique em > http://www.oi.com.br/bandalarga e aproveite essa moleza! >