First I want to thank you for the working response. Now, in testing, we are finding that when the data set is large, either the xmltype or the getclobval method fail. Indeed looking around the internet other folks have run into a 4k limitation. Any help on how to get around this one?
Re^2: DBD Oracle ORA_XMLTYPE Seg Fault
Replies are listed 'Best First'.
I just tested selecting an XMLTYPE column over 32K in size and it worked ok. But for inserting, there seems to be a 4K limit, and even with sqlldr I'm having trouble loading really large documents. Since you need to bind an in/out parameter, maybe you hit that limit? Perhaps create a PL/SQL block that returns a cursor for selecting your data, and then select from that cursor?
Update: Selecting an XMLTYPE column over about 50K gives me an ORA-12152 (~50K) or ORA-0600 (> ~64K) error on $dbh->disconnect...but it does select the data. Weird...
I don't believe the 4k limitation is in Perl. Its in the xmltype and/or the getclobval method. Read the last entry here: https://forums.oracle.com/forums/thread.jspa?messageID=1696372 . So I think I need another work around in the query. One that continues to hide the xmltype from the Perl client.