Callablestatement parece que perde a sesão do banco!

4 respostas
dahenz

Boa tarde…

Estou utilizando o CallableStatement para executar uma procedure no banco MySQL, e percebo o seguinte:

Dentro desta procedure tem uma chamada de uma função e dentro desta função existe uma chamada de uma procedure, e dentro desta procedure alimento algumas informações em uma tabela temporária. As informações desta tabela temporária serão úteis para a função chamada dentro da procedure principal, e quando isso ocorre, aparece um erro no meu console do eclipse dizendo que a tabela temporária criada não existe.

Estou utilizando a mesma connection para executar todas as operações, mas a impressão que dá é que, quando utilizo a chamada da procedure dentro da function o sistema perde a referência.

Rodei a mesma coisa no banco e funciona perfeitamente, portanto: A conexão JDBC perde referências de procedimentos dentro de outros procedimentos???

Alguém já passou por isso?? Como resolvo…

Obrigado…

4 Respostas

fabim

Vc conecta pelo Java usando o mesmo usuario de qdo faz pelo Banco?

Geralemente esses “table or view does not exist” tem a ver com GRANT pra usuarios diferentes.

dahenz

Pois é o usuário e senha são os mesmos…

Vc já fez algo parecido que funcionasse??

Obrigado Fabim!!!

fabim

Ja utilizei chamada a procedures que internamente chamavam 20 procedures (e assim sucessivamente, tanta coisa que ate cheirava mal)

Mas nunca tive o problema citado por vc, de perda de referencia.

Vc consegue debugar pra saber exatamente onde fica o problema, la na SP?

dahenz
:) quando eu executo a procedure principal pelo MySQL, o resultado aparece legal na tela..... Utilizando essa chamada:
this.con = con;

		CallableStatement cs = this.con.prepareCall("{call proc_fechamentoMetasPorRegra(?,?)}");				
				
		cs.setInt(1, mes);
		cs.setInt(2, ano);

		cs.execute();

Da o erro de table que não existe.... O usuário utilizado é o root tanto no java quanto no MySQL.... vou dar uma olhada pra ver se acho algum erro.... Obrigado Fabim

Criado 17 de agosto de 2009
Ultima resposta 17 de ago. de 2009
Respostas 4
Participantes 2