Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: "ORA-19011: Character string buffer too small"

Re: "ORA-19011: Character string buffer too small"

From: DA Morgan <damorgan_at_x.washington.edu>
Date: Fri, 01 Apr 2005 08:35:31 -0800
Message-ID: <1112373116.686799@yasure>


Karen wrote:
> Hi,
>
> Within a Pl/SQL package I have a large insert statement that returns a
> "ORA-19011: Character string buffer too small" when it try to run it.
>
> The target column is a clob. Here's the statement with many of the
> columns removed for readablity sake.
>
> INSERT INTO t_staging(temp_xml) (SELECT '<VEHICLES>' ||
> XMLAGG(XMLELEMENT ("VEHICLE",
> xmlattributes(
> AB_RG,AB_RG_001,
>
> <snipped>
>
> VISUAL_ID,WHEEL_DRIVE,
> XSTATUS))) || '</VEHICLES>' AS "ROW" from policy_vehicle
> where policy_num = (select distinct policy_num from policy
> where policy_number = 3 ))
>
> How can I get past this error and get my data into the table? I have
> tried casting the 3 three sections that are getting concatenated using
> to_clob() but I still get the same error. If I remove 13 columns from
> the huge list it will work, but I need all the columns.
>
> Thanks.
>
> Best Regards,
> Brian P.

I don't have time to try it right now but my instinct would be to first define a variable of type CLOB. Then select into the variable. Finally insert into the table.

If that doesn't work, and no one has another suggestion, look at the demo at:
http://www.psoug.org
click on Morgan's Library
click on DBMS_SQL
look at the procedure named "execute_plsql_block"

It demonstrates one way of dealing with CLOBs that might work.

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu
(replace 'x' with 'u' to respond)
Received on Fri Apr 01 2005 - 10:35:31 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US