Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORDS 500 - Internal Server error while downloading BFILE

Chintan GandhiFeb 2 2018 — edited Feb 9 2018

Hi,

I am using below:

Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

Application Express 5.0.3.00.03

ORDS 3.0.11.180.12.34

I have below code to download BFILE and it is running into error: 500 - Internal Server error

DECLARE

   l_file_name     VARCHAR2(200);

   l_bfile         BFILE;

   l_bfile_length  NUMBER;

   l_LOG_HEAD_ID  NUMBER := 26130;

   l_JOB_ID       NUMBER := 29072;

BEGIN

   l_bfile := null;

  

   SELECT tracefile

     INTO l_bfile

     FROM xxdm_apex_log_head

    WHERE log_head_id = l_LOG_HEAD_ID;

   

   l_bfile_length := DBMS_LOB.getlength (l_bfile);

   -- Generate your file content

   sys.htp.init;

   sys.owa_util.mime_header('application/octet-stream', FALSE, 'UTF-8' );

   sys.htp.p('Content-length: ' || l_bfile_length);

   sys.htp.p('Content-Disposition: inline; filename="PID_' || l_JOB_ID ||'_trace.trc"' );

   sys.owa_util.http_header_close;

   sys.wpg_docload.download_file(l_bfile);

   apex_application.stop_apex_engine;

EXCEPTION

   WHEN OTHERS

   THEN

      sys.htp.prn('error: '||sqlerrm);

      apex_application.stop_apex_engine;

END;

Debug Trace

[TE] url-mapping start: 2018-02-02T23:45:45.324Z duration: 4ms [TE] GET /ords/f?p=104:6:13959344334199::NO:6:P6_LOG_HEAD_ID,P6_JOB_ID:11267,14185 start: 2018-02-02T23:45:45.324Z duration: 70ms  

Stack Trace

InternalServerException [statusCode=500, reasons=[]] at oracle.dbtools.apex.ModApexContext.handleError(ModApexContext.java:273) at oracle.dbtools.apex.OWA.downloadFile(OWA.java:117) at oracle.dbtools.apex.hooks.postProcess.CachedItems.postProcess(CachedItems.java:69) at oracle.dbtools.apex.hooks.ProcessorRegistry.postProcess(ProcessorRegistry.java:55) at oracle.dbtools.apex.ModApex.handleRequest(ModApex.java:293) at oracle.dbtools.apex.ModApex.doGet(ModApex.java:135) at oracle.dbtools.apex.ModApex.service(ModApex.java:100) at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:125) at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:240) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:73) at oracle.dbtools.http.forwarding.QueryFilteringRewrite.doFilter(QueryFilteringRewrite.java:90) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.forwarding.ForwardingFilter.doFilter(ForwardingFilter.java:68) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.cors.CORSPreflightFilter.doFilter(CORSPreflightFilter.java:66) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.cookies.auth.CookieSessionCSRFFilter.doFilter(CookieSessionCSRFFilter.java:75) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.auth.AuthenticationFilter.authenticate(AuthenticationFilter.java:87) at oracle.dbtools.http.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:62) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.url.mapping.RequestMapperImpl.doFilter(RequestMapperImpl.java:125) at oracle.dbtools.url.mapping.URLMappingBase.doFilter(URLMappingBase.java:103) at oracle.dbtools.url.mapping.filter.URLMappingFilter.doFilter(URLMappingFilter.java:124) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:83) at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:94) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.auth.ForceAuthFilter.doFilter(ForceAuthFilter.java:44) at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47) at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64) at oracle.dbtools.http.filters.Filters.filter(Filters.java:47) at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:82) at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at oracle.dbtools.rt.web.HttpEndpointBase.dispatchableServices(HttpEndpointBase.java:116) at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:81) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:722) Caused by: java.sql.SQLException: ORA-22285: non-existent directory or file for GETLENGTH operation  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385) at oracle.jdbc.driver.T4C8TTILob.processError(T4C8TTILob.java:790) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257) at oracle.jdbc.driver.T4C8TTILob.getLength(T4C8TTILob.java:206) at oracle.jdbc.driver.T4CConnection.length(T4CConnection.java:2499) at oracle.sql.BFILE.length(BFILE.java:104) at oracle.dbtools.common.jdbc.OracleBfileInputStream.<init>(OracleBfileInputStream.java:19) at oracle.dbtools.apex.OWA.downloadBFile(OWA.java:590) at oracle.dbtools.apex.OWA.getDownloadStream(OWA.java:70) at oracle.dbtools.apex.OWA.downloadFile(OWA.java:87) ... 63 more 

Appreciate any help!

Thanks,

Chintan

This post has been answered by Mike Kutz on Feb 8 2018
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 9 2018
Added on Feb 2 2018
15 comments
1,927 views