Eu já disse isso em outra ocasião aqui no Fórum mesmo, torno a repetir : a tua expressão 'insert simples' sugere que vc está trabalhando diretamente com a linguagem SQL, informando diretamente os valores para um INSERT - o que ocorre é a linguagem SQL *** TEM LIMITES MÀXIMOS *** para strings, é são MUITO muito muito menores do que os 4 Gb que o LOB permite (para referência, se o SQL está sendo usado diretamente o limite é de cerca de 4Kb, se o SQL está embebido num PL/SQL são cerca de 32 Kb, os manuais de Reference citam os valores exatos pra tua versão de banco seja qual for). ===>>> SENDO ASSIM, vou ser categórico vc *** NÃO *** vai conseguir via 'INSERT simples' se os valores a inserir ultrapassam os limites da linguagem SQL, PONTO. A solução é usar a API (disponível ao PL/SQL) que a Oracle disponibiliza para isso, é uma package chamada DBMS_LOB, nela há comandos para se 'quebrar' a string imensa em pedaços consumíveis pelo PL/SQL é isso. Se vc quer ter isso para envio de dados para um Cliente seu (por exemplo) essa é a solução, NÃO USE um script aonde vc chama o SQL diretamente, e sim tenha um script aonde vc chame blocos PL/SQL que façam via DBMS_LOB as ações necessárias.
[]s Chiappa --- Em oracle_br@yahoogrupos.com.br, francisco porfirio <francisco.porfi...@...> escreveu > > Pessoal, > > Estou tentando gerar uma série de inserts para popular uma determinada > tabela, porém não estou conseguindo inserir dados no campo blob. > > Primeiro eu estou fazendo um select para montar meus inserts, ja tentei usar > a função to_lob porém surge o seguinte erro: ORA-01704: literal de string > extenso demais > Em alguns locais o pessoal sugeria o dbms_lob.wirte() > > Alguém sabe alguma forma que através de um comando insert simples eu consiga > inserir estes dados? > > > > Versão do banco: 10.2.0.4.0 > > > -- > Atenciosamente > Francisco Porfirio Ribeiro Neto > > > [As partes desta mensagem que não continham texto foram removidas] >