Configuração de PL/sql em java

3 respostas
X

Bom dia a todos!

Eu estou com o seguinte problema: criei uma procedure com uma inserção dinâmica (Execute Immediate) que roda perfeitamente quando executada do sql developer. Contudo, quando é chamada do sistema em Java ocorre um erro de too many values. Acredito que seja alguma configuração que o oracle pegue do java, já que o problema ocorre porqur o NUMBER usa ‘,’ ao invés de ‘.’, o que ocasiona problema na inserção dinâmica. Alguém saberia me informar o que posso fazer ou se tem alguma configuração que posso alterar? Lemvrando que esse número que possui o erro não é enviado do sistema java…só fica no nível do banco.

Obrigado.

3 Respostas

fantomas

Oi, bem vindo ao forum!

O que você quer dizer com isto?

Entendi que o erro é causado pelo fato de haver um conteúdo numérico com um ponto ao invés de uma virgula e que este conteúdo não é informado pelo sistema feito em Java. Confirma isto?

flws

bruno.fantin

Usa bind no execute. Dessa forma você evita problemas com numeros, string e etc.

Por exemplo:

execute immediate ‘insert into tabela(c1, c2) values(:v1, :v2)’ using variavel1, variavel2;

X

Ola Bruno

O binding funcionou perfeitamente! So preciso ver se as outras partes do sistema podem ser feitas dessa forma…

Muito obrigado

Criado 15 de abril de 2010
Ultima resposta 15 de abr. de 2010
Respostas 3
Participantes 3