Your page is too big and you can't have it back (Oracle Portal wtf)



  • This error occurs with dynamic pages (a type of portlet which uses plsql to generate HTML) more than 32k:

    WWV-0180: <font size="-1">Took exception. Cause: You are editing a dynamic page that contains more than 32K of HTML code. Action: Avoid writing more than 32K of HTML code</font>

     The fun part is that Oracle Portal does not allow the page to be edited after that. So if you weren't making backups or using versioning, it's time to start over. Believe it or not, Oracle, sometimes its okay to have web pages with more than 32k of HTML code.

     



  • My guess this is related to the 32K limit in PL/SQL.  I don't remember what exactly is the root cause, I just remember Oracle doesn't accept SQL statements over 32K. 

     



  • @lpope187 said:

    My guess this is related to the 32K limit in PL/SQL.  I don't remember what exactly is the root cause, I just remember Oracle doesn't accept SQL statements over 32K. 

     

    No, this is not SQL code.  Oracle accepts SQL statements up to 16MB.  But PL/SQL cannot work with varchar2 strings larger than 32K.  I can see them making that a limit for the application, but that is no excuse to go and corrupt the data.




  • For readers using TDWTF for technical help (good luck with that): the solution to this problem is to view the properties of the 'locked' packages. This will list the source code for the file you cannot open.

    Editing through Toad will get around the varchar2 limitation nerdydeeds mentioned.



  • It is a limitation of field length for parameters in an HTML form the way that the Oracle Web Toolkit is implemented. If it had a way to upload a file (instead of a direct edit situation) that would get around this limit. I have had to design Oracle web based apps with builtin HTML page designers with this limitation in mind and it is a pain in the neck.

    Like previously mentioned, editing the file directly with Toad or SQL*Developer would be required to get around this. 



  •  Its so simple: Oracle stores EVERYTHING in a database column.Including encrypted PL/SQL. So if you need something stored, if its over 32k then oracle cannot store it in a column and thus you are f0x0red.



  • Larry Ellison paraphrasing Bill Gates, going "32k outta be enough for everyone"? 



  • @dlikhten said:

     Its so simple: Oracle stores EVERYTHING in a database column.Including encrypted PL/SQL. So if you need something stored, if its over 32k then oracle cannot store it in a column and thus you are f0x0red.

     

    The 32K limit is for VARCHAR2 columns only. There are several LOB datatypes with much higher limits (currently the limits are much higher than the amount of storage you could ever buy). 




  • @ammoQ said:

    The 32K limit is for VARCHAR2 columns only. There are several LOB datatypes with much higher limits (currently the limits are much higher than the amount of storage you could ever buy). 
     

    TRWTF is using VARCHAR for page content.


Log in to reply