----- Original Message -----
Sent: Monday, March 10, 2003 5:22
PM
Subject: [java-list] Alan: Erro ao
recuperar arquivo?
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.