Rep2excel is tool that can convert oracle reports in to native Microsoft excel format. The Win32-Rep2excel support CGI interface, and then customer deploy it in cgi-bin folder of Apache server. The Rep2excel can be called by other computers via browser, and return the excel file.
HTTP 500 Error
Some customers report problem when Rep2excel converts large oracle report file. In the browser, the end users see the http 500 error page:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, user@domain.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
The administrator of apache check the error log, it shows message similar to:
[Tue Sep 08 16:19:53 2015] [error] [client 172.27.67.113] Premature end of script headers: Rep2excel.exe, referer: http://server-name/cgi-bin/rep2excel.exe?job=getwebpage&pagename=index
Troubleshooting
First I suggest the users run Rep2excel by command line, and convert the same oracle report file. If the excel file is generated without error, and it takes more than 5 minutes to generate the excel file, you are better off configuring the TimeOut directive in httpd.conf of Apache server.
TimeOut Directive
Amount of time the server will wait for certain events before failing a request |
|
|
|
|
|
server config, virtual host |
|
Core |
|
core |
The TimeOut
directive defines the length of time Apache will wait for I/O in various circumstances:
- When reading data from the client, the length of time to wait for a TCP packet to arrive if the read buffer is empty.
- When writing data to the client, the length of time to wait for an acknowledgement of a packet if the send buffer is full.
- In mod_cgi, the length of time to wait for output from a CGI script.
Solutions
- Edit httpd.conf, the file is available in conf folder, for example: C:\Program Files\Apache Software Foundation\Apache2.2\conf
- Add timeout=1500 to httpd.conf under server or virtual host context. 1500 means 25 minutes, please increase it as per your needs.
- Save httpd.conf and restart Apache.
Other solution
The java edition of Rep2excel runs 5-10 times faster than Win32-Rep2excel. You can upgrade to java-Rep2excel in case your oracle report file is very large, or you want to save time.
The java-Rep2excel works on Windows, Linux and Unix.