Problemas com Stored procedures

1 resposta
L

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…

1 Resposta

L

ja descobri o erro!!

hehehe

é com chaves mesmo…

so que a porra do call tem que ser minuscula

public static final String PL_DST_INCLUI = “{?=call DST_INCLUI(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}”;

senao da pau e ele nao reconhece a estrutura…

é foda ne!! fiquei me quebrando e era isso!!! hehehe

Criado 7 de junho de 2006
Ultima resposta 7 de jun. de 2006
Respostas 1
Participantes 1