Very strange Error in Updates - Mailing list pgsql-jdbc
From | Dario V. Fassi |
---|---|
Subject | Very strange Error in Updates |
Date | |
Msg-id | 40F6172D.10301@sistemat.com.ar Whole thread Raw |
Responses |
Re: Very strange Error in Updates
Re: Very strange Error in Updates Re: Very strange Error in Updates |
List | pgsql-jdbc |
I found a very strange error/behavior in a PreparedStatement for a simple SQL Update over a VARCHAR field. The code is like: Statement stmt = con.createStatement(); PreparedStatement pstIns = con.prepareStatement("update userid.t set calle = ? "); ResultSet rs = stmt.executeQuery( "select calle from userid.t2" ); while ( rs.next() ) { pstIns.clearParameters(); String x = rs.getString("CALLE"); pstIns.setString(1, x ); int nrows = pstIns.executeUpdate(); System.out.println( "Filas afectadas "+ nrows ); } When the parameter fill the full-length of receiving field and has any non common character, the update throw a exception like: java.sql.SQLException: ERROR: value too long for type character varying(30) at org.postgresql.core.v2.QueryExecutorImpl.receiveErrorMessage(QueryExecutorImpl.java:420) at org.postgresql.core.v2.QueryExecutorImpl.processResults(QueryExecutorImpl.java:345) at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:251) at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:159) at org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:342) at org.postgresql.jdbc1.AbstractJdbc1Statement.executeWithFlags(AbstractJdbc1Statement.java:290) at org.postgresql.jdbc1.AbstractJdbc1Statement.executeUpdate(AbstractJdbc1Statement.java:245) at com.sistemat.app.rsmaster.reloadable.RepImportar.PrDw_Cuentas(RepImportar.java:2471) at com.sistemat.app.rsmaster.reloadable.RepImportar.Importar(RepImportar.java:260) at com.sistemat.app.rsmaster.reloadable.RepMasterImpl.Ciclo_Replicacion(RepMasterImpl.java:955) at com.sistemat.app.rsmaster.reloadable.RepMasterImpl.runWorker(RepMasterImpl.java:748) at com.sistemat.app.rsmaster.reloadable.RepMasterImpl.run(RepMasterImpl.java:427) at java.lang.Thread.run(Unknown Source) This field/value produce the Exception: CALLE=[ENFERMERA CLEMON. B§ ALTO ALBR] If this field is changed to: CALLE=[ENFERMERA CLEMON. B# ALTO ALBR] then the update is performed without any problem. Although the first value can be Inserted with a prepared statement without problems. A have no explanation to this case , and any help will be appreciated. Dario Fassi.
pgsql-jdbc by date: