Problemão!

6 respostas
K

estou usando o seguinte comando pra chamar uma stored procedure…

try { pstm = bd.conectar().prepareCall("call criabd('" + ra + "','" + senha + "','" + sala + "')"); pstm.executeQuery(); } catch (SQLException ex) { ex.printStackTrace(); }

ele da a seguinte msg de erro!! ( a stored procedure está armazenada em um server mysql q está rodando no centOS)

[color=red]java.sql.SQLException: This command is not supported in the prepared statement protocol yet

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3558)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3490)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2109)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2643)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2077)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2228)

at com.mysql.jdbc.CallableStatement.executeQuery(CallableStatement.java:912)

[/color]

alguém tem alguma ideia?!?!
ValeuU!!

6 Respostas

volnei

Pesquise sobre CallableStatement e use-o no lugar de PreparedStatement.

K

jah tentei com

public void criaBanco() { try { CallableStatement cs = bd.conectar().prepareCall("call criabd('" + ra + "','" + senha + "','" + sala + "')"); cs.executeQuery(); } catch (SQLException ex) { ex.printStackTrace(); } }

e tb deu a msm msg de erro =/

Felagund

O driver do mysql q vc esta usando tem suporte a CallableStatments?

K

tem suporte sim!!

R

Alguns exemplos de chamada de Stored Procedure em MySQL:

http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-basic.html#connector-j-usagenotes-statements-callable
http://www.java2s.com/Code/Java/Database-SQL-JDBC/CallStoredProcedureInMySql.htm

K

continua mantendo o msm erro
jah tentei algumas variações como mostradas no link acima, mas não deu resultado…
o stored procedure não retorna nada, apenas cria um banco de dados, um usuario e faz um cadastro em uma tabela do banco onde ele está armazenado…
alguém tem alguma outra alternativa?!
muito obrigado desde já!!

Criado 19 de janeiro de 2010
Ultima resposta 20 de jan. de 2010
Respostas 6
Participantes 4