Como vai pessoal?
Estou tendo um problema ao tentar recuperar arquivos acima de 2Kb do Banco de dados Oracle9i armazenados em um campo CLOB.
Digo acima de 2Kb, pois com arquivos menores não há problema.
 
Estou usando o servidor de aplicação Oracle9iAS. (O problema pode estar aqui! Em alguma configuração.)
Tenho uma classe que recupera arquivos de um banco de dados para que o usuário possa fazer o download dos mesmos.
O campo no banco que armazena os arquivos é um CLOB.
O campo é recuperado da seguinte maneira:
...
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ResultSet rs = conn.createStatement().executeQuery(sql);
...
InputStream arquivo = rs.getBinaryStream("LOB_ARQUIVO");
int bytes_read = 0;
byte buffer[] = new byte[4096];
try
    {
         while((bytes_read = arquivo.read(buffer, 0, buffer.length)) != -1) 
         baos.write(buffer, 0, bytes_read);
         arquivo.close();
    }
...
 
O erro acontece quando tentamos recuperar arquivos acima de 2kb. Com arquivos menores não há problema.
Será que alguém pode me dar uma luz?
O erro que é exibido é esse:
 

500 Internal Server Error

java.lang.NullPointerException

at com.caa.classesnegocio.Chamado_ca.RetornarAnexo(Chamado_ca.java:1935)
at _caa__exibir__anexo._jspService(_caa__exibir__anexo.java:90)
[SRC:/caa_exibir_anexo.jsp:36]
at com.orionserver[Oracle9iAS (9.0.2.0.0) Containers for J2EE].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:302)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:407)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.AJPRequestHandler.run(AJPRequestHandler.java:151)
at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].util.ThreadPoolThread.run(ThreadPoolThread.java:64)
 
Muito Obrigado!
Alan.

Responder a