Procedure Oracle

Estou tentando executar um procedure que desenvolvi no oracle, mas esta dando erro.
Esta procedure inseri dados em algumas tabelas…

java.sql.SQLException: ORA-00900: invalid SQL statement

stm = c.con.createStatement(); stm.executeQuery("sca.prc_inserir_usuario('" + loginUsuario + "'," + chapaUsuario + "')");

Alguem pode me ajudar?

Utiliza CallableStatement para executar procedures.

Ixe cara…

Tah mei zuado…mas vamos lá… :stuck_out_tongue:

Primeiro…o erro acontece que vc esquece de um apóstrofo. stm.executeQuery(“sca.prc_inserir_usuario(’” + loginUsuario + “’,*” + chapaUsuario + “’)”);

Dá uma olhada na minha setença e na tua…agora olha onde tá o asterisco.

Agora…o otro prblmea…pelo o pouco que eu sei…Pra executar uma procedure não é assim não…vc precisa preparar ela assim :

prepareCall(comando);

O método prepareCall é disponível para o CallableStatement.

depois disso, vc seta os valores (SetString, setLong) vc escolhe o método e chama o método execute();

Caso tenha algum parametro de saida deve ser configurado também “registerOutParameter(indice, OracleType)”

Não faço o código para vc pq tah mei corrido aqui…desculpa a resposta mal formatada e talz…sorry mm

[]'s

Espero que isso possa te ajudar!

    CallableStatement ctsmt = 
        con.prepareCall("{call " + NomeProcedure + "(?,?,?,?,?,?)}");
    ctsmt.setString(1, ParametroIn);
    ctsmt.setString(2, ParametroIn2);

    ctsmt.registerOutParameter(3, Types.VARCHAR);
    ctsmt.registerOutParameter(4, Types.VARCHAR);
    ctsmt.registerOutParameter(5, Types.NUMERIC);
    ctsmt.registerOutParameter(6, Types.VARCHAR);

    ctsmt.execute();

boua tei tei…

Agora é só adaptar para a tua procedure.

[]'s!