Olá povo.
eu tenho o seguinte código que é chamado em uma aplicação web:
final String sql = "UPDATE TABELA_X SET campo1= ? , " +
"campo2 = ?, campo3 = ?, campo4 = ?, " +
"campo5 = ?, campo6 = ?, campo7 = ? , " +
"campo8 =?, campo9 = ? , campo10 = ? , campo11 = ?, " +
"campo12 = ?, campo13= ?, campo14 = ?, campo15 = ?, " +
"campo16 = ?, campo17 = ?, campo18 = ?, " +
"campo19 = ? WHERE campo7 =? AND campo3=? " +
"AND campo18=? AND campo19=?";
//pegando uma conexão ativa com o banco de dados
Conexao cx = new Conexao();
Connection con = cx.getCon();
PreparedStatement stm = null;
try {
con.setAutoCommit(false);
stm = con.prepareStatement(sql);
stm.setInt(1, 15);
stm.setInt(2, 25);
stm.setString(3, "332");
stm.setInt(4, 6);
stm.setInt(5, 5);
stm.setInt(6, 3);
stm.setString(7, "123");
stm.setString(8, "7");
stm.setString(9, "1");
stm.setString(10, "2");
stm.setString(11, "1");
stm.setDouble(12, 33.10);
stm.setDouble(13, 40.4);
stm.setDouble(14, 70.7);
stm.setDouble(15, 12.5);
stm.setDouble(16, 11.2);
stm.setDouble(17, 10.1);
O banco de dados sobre o qual ele atua é Oracle.
Esse código funciona em todos os computadores do meu trampo, mas quando eu faço a distribuição do arquivo .WAR no cliente ele da um problema nessa linha:
con.setAutoCommit(false);
Ele joga um SQLException com essa mensagem:
ORA-01722 - Invalid Number.
É estranho que esse problema geralmente ocorre na conversão de tipos feita pelo banco, mas no o problema acontece no auto commit… e mesmo que eu retire essa linha o problema passa a acontece na linha de baixo.
Eu simplesmente não estou consseguindo determinar a causa… Alguém sabe como resolver isso?