Oi pessoal,
estou com um baita problema!!
eu tenho um metodo para fazer inserção no banco. este metodo se chama uma FUNÇÃO no banco so que ta dando um erro muito estranho…
abaixo o metodo, coloquei valores fixos para testar apenas…
detalhe que, a chamada da função( PL_DST_INCLUI ) vi em alguns exemplos que a string deve conter chaves para abrir e fechar o comando…
porem qndo eu coloco chaves da erro de SQL, qndo tiro da erro de null pointer exception… fiz um teste colocando chaves em um programinha de teste separado do meu sistema, usando o mesmo driver de JDBC
public static final String PL_DST_INCLUI = “{?=CALL DST_INCLUI(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}”;
public IBasePersistenteBean insertDestino(HashMapBean bean){
//validar os parametros
try{
BaseDAO dao = getDAO();
Connection conn = dao.getConnection();
CallableStatement stmt = conn.prepareCall(PL_DST_INCLUI);
//Configurando parametros...
stmt.registerOutParameter(1,Types.INTEGER);
stmt.setString(2, "admin");//usuario
stmt.setString(3, "thermus");//senha
stmt.setString(4, FRDST_CONSULTA);//aplicacaoId
stmt.setLong (5, 4213401);
stmt.setString(6, "13");
stmt.setString(7, "13");
stmt.setString(8, "13");
stmt.setLong (9, 13);
stmt.setString(10,"13");
stmt.setString(11,"13");
stmt.setString(12,"13");
stmt.setLong (13,0);
stmt.setString(14,"DST");
stmt.setString(15,"13");
stmt.setString(16,"DST2");
stmt.setString(17,"I");
stmt.setString(18,"D");
stmt.setLong (19,3);
stmt.execute();
long retorno = stmt.getLong(1);
stmt.close ();
return bean;
}
catch(SQLException exp){
BaseExceptionHandler.handlerPlException(ERROR_PL_DST_INCLUI, exp);
}
catch(Exception exp){
throw new BaseBusinessException(ERROR_PL_DST_INCLUI, exp);
}
return null;
}
o que estou fazendo de errado?? ou seria algum bug ?? estou usando eclipse…