0

I have inherited a PLSQL application. The application works fine as long as the values passed to the submit procedure do not exceed a certain number. I have checked the variables through fiddler when an html 400 occurs and the number of variables passed are quite large. The procedure IN consists of 12 parameters. This one issue that causes the error the user is passing 283 sets of 12. If I manually limit the number to 195 sets or less, no error returned. I'm not running out of array memory but I think I am hitting some kind of server side limit to process the post. I have tried talking with the server team based on the information from this link What is the maximum length of a URL in different browsers? but they don't seem to know how to do this.

I am looking for alternate ways to pass the values to maybe a temp table or store all the variable in their respective arrays before passing instead of this one long url string of 3396 variable and values.

If anyone understand what I am talking about any advice would be greatly appreciated.

Erik Toups
  • 11
  • 4
  • What is your application using as the PL/SQL gateway, to translate from HTTP to PL/SQL? mod_plsql? ORDS? PHP or some other language using an Oracle db driver? And is this page getting submitted using HTTP GET or POST? – kfinity Oct 13 '17 at 15:27
  • PLSQL, Oracle db, Apache server, Html POST – Erik Toups Oct 13 '17 at 15:30
  • Ok... when HTTP requests arrive at your Apache server, how do they get to the Oracle db? What connects them? – kfinity Oct 13 '17 at 15:32
  • I'm sorry. I don't know. I am at a satellite location. The servers and the team are in another state. – Erik Toups Oct 13 '17 at 15:49
  • Ok. I'm going to guess you're using `mod_plsql`. Normally HTTP POST doesn't use the URL to pass the parameters, it passes them in the post body. If you could edit to include some example code, that would help a lot. – kfinity Oct 13 '17 at 17:40
  • the form submit is:
    The variables from the html table are not getting passed through the url but when I use fiddler to see the error the header is a list of all 3000+ variables.
    – Erik Toups Oct 13 '17 at 17:48
  • That's a start. What does the pl/sql procedure look like? (pkg_position_control.p_process) – kfinity Oct 13 '17 at 17:52
  • 'procedure p_process( p_cc_no varchar2, p_pc_no pc_tm_no_vacant_array, p_tm_name name_title_array, p_tm_no pc_tm_no_vacant_array, p_job_title name_title_array, p_status status_hrs_shift_array, p_hrs_per_week status_hrs_shift_array, p_shift status_hrs_shift_array, p_open open_delete_array, p_vacant pc_tm_no_vacant_array, p_comments long_array, p_delete open_delete_array' – Erik Toups Oct 13 '17 at 18:13

0 Answers0