Galera estou com problemas com executar uma procedure do oracle quando estou utilizando conexao jndi do tomcat, vou explicar melhor…
Antes eu tinha uma classe com jdbc puro onde eu conectava o banco e fazia varias conexoes e executava um OracleCallableStatement para ecessar o codigo das procedures, hoje mudei para conexao jndi e começaram os problemas
Conexao
public void getConnection(){
try{
// Obtém a raiz da hierarquia de nomes
InitialContext contexto = new InitialContext();
// Obtém a origem dos dados
DataSource ds = (DataSource)contexto.lookup("java:comp/env/jdbc/isdradsv");
// Obtém uma conexão
con = ds.getConnection();
// Retorna a conexão
}catch(Exception e){
System.out.println("Erro na conexao " +e);
}
}
Persistencia da hora de fazer a procedure
try {
oraCallStmt = (OracleCallableStatement) con.prepareCall(
"{call svi.svi_pkg.insert_situacao_imovel(?,?,?,?)}"
);
oraCallStmt.setInt(1, psituacaoImovel.getCdSituacao());
oraCallStmt.setString(2, psituacaoImovel.getDeSituacao());
oraCallStmt.registerOutParameter(1, OracleTypes.INTEGER);
oraCallStmt.registerOutParameter(3, OracleTypes.INTEGER);
oraCallStmt.registerOutParameter(4, OracleTypes.VARCHAR);
oraCallStmt.execute();
situacaoImovel.setCdSituacao(oraCallStmt.getInt(1));
situacaoImovel.setPRetCodigo(oraCallStmt.getInt(3));
situacaoImovel.setPRetMensagem(oraCallStmt.getString(4));
oraCallStmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
return situacaoImovel;
}
Na hora que passa por essa linha oraCallStmt = (OracleCallableStatement) con.prepareCall(
"{call svi.svi_pkg.insert_situacao_imovel(?,?,?,?)}"
);
Da o seguinte erro:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
com.isdra.imovel.service.PersistenciaSituacaoImovel.insertSituacaoImovel(PersistenciaSituacaoImovel.java:33)
com.isdra.imovel.service.SituacaoImovelService.insertSituacaoImovel(SituacaoImovelService.java:14)
com.isdra.svi.imovel.ManterSituacaoImovelAction.execute(ManterSituacaoImovelAction.java:37)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
Como posso resolver esse problema?