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... | [reply] [Watch: Dir/Any] |
Not sure, maybe binding ':out' as a LOB (making sure LongReadLen attribute is sufficiently large)? Or abusing dbms_output to output the value? | [reply] [Watch: Dir/Any] |
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.
| [reply] [Watch: Dir/Any] |