Comando para Banco DB2 com Java

6 respostas
F

Olá a todos…

tem um problema…

quando executo algum select, insert, update, alguma coisa no banco eu executo o commit na conexão usando oracle e os “arquivos/tabelas” são “fechadas”. até aí tudo bem, mas qnd eu faço isso no DB2 e executo o commit na conexão ele não fecha o arquivo no DB2 e a próxima vez que vou executar uma outra movimentação nesse arquivo dá o seguinte erro…

[SQL0913] Row or object COMMAV03 in BASREBIC type *FILE in use.

onde COMMAV03 é meu arquivo/tabela
BASREBIC é meu schema/base
no banco de dados…

Alguém pode me ajudar??

6 Respostas

M

Isso normalmente acontece no tratamento de cursores.
Se vc faz um commit durante um ciclo de leitura, o cursor estara fechado após o commit, dando erro se vc tentar ler esse cursor de novo.
é essa a situação?

flw.

F

bom, eu faço commit e só depois q mando fazer o insert, parece q o erro acontece na hora do insert, ñ é toda hora q está acontecendo…
parece q o arquivo fica preso e qnd mando inserir ele fala q está em uso…

tem alguma forma melhor de tratar cursores???

M

Se possivel descreva o fluxo do seu programa ou envie mais informações sobre os acessos ao banco.
Se vc estiver utilizando cursores, em algumas versões do db2 vc pode utilizar a clausula WITH HOLD para evitar problemas após o commit.

flw.

F
Se possivel descreva o fluxo do seu programa ou envie mais informações sobre os acessos ao banco.
Se vc estiver utilizando cursores, em algumas versões do db2 vc pode utilizar a clausula WITH HOLD para evitar problemas após o commit.

flw.

ISSO É FEITO EM JAVA??? C SABE COMO FAZER ISSO???

M

Isso é declarado na query… após a declaração do cursor.
“declare csr cursor with hold for…”
Vc procurou o que quer dizer esse código de retorno que está dando erro?
quer dizer timeout ou lock. Ou seja, pode nem ser erro de commit.

Ps.: Não utilize caixa alta nas mensagens.

flw.

M

E respondendo: não, nunca trabalhei com DB2 e Java, mas trabalho com DB2 Mainframe. Estou apenas dando dicas que quem sabe sejam uteis.

Criado 16 de março de 2007
Ultima resposta 16 de mar. de 2007
Respostas 6
Participantes 2