wsdb
#1
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?
nbluis
#2
Utiliza CallableStatement para executar procedures.
Ixe cara…
Tah mei zuado…mas vamos lá… 
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!
TeiTei
#4
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!