PreparedStatement#setString on non-string parameters
От | Silvio Bierman |
---|---|
Тема | PreparedStatement#setString on non-string parameters |
Дата | |
Msg-id | JGEOKLDJHLJNAPFIBKBNCEICDCAA.sbierman@jambo-software.com обсуждение исходный текст |
Ответы |
Re: PreparedStatement#setString on non-string parameters
Re: PreparedStatement#setString on non-string parameters Re: PreparedStatement#setString on non-string parameters |
Список | pgsql-jdbc |
Hello all, I have just finished a few hours of testing our product that already runs on Oracle, SQLServer, MySQL, MaxDB and McKOI on PostgreSQL. I always liked what I read about this database apart from the fact that it used to not run natively on Windows. Since many of our customers run Windows servers I never bothered with PostgreSQL before. However, starting with version 8 there is a native Windows version which I installed and ran our product on. At first everything was fine and I was very impressed with both the performance as the ease of use of the admin tools. But when I starting doing writes to the database SQL exceptions started to occur. They where all over the application code but where all the same error: doing a setString on a numeric parameter. I know this is usually suboptimal but since we handle a lot of XML data throughout the (heavily distributed) application many numeric values are available as Strings so it would be a matter of converting them to numeric values ourselves or letting the JDBC driver do that. The JDBC drivers we used for the other databasse I mentioned never complained. Unfortunately PostgreSQL does. I read somewhere that using the pre-version-8 JDBC driver will work with 8 and not show this behaviour, the 8 driver has deliberately changed the behaviour. The JDBC spec requires the driver to attempt a conversion when a setString is done on a non-string parameter. This will break a lot of conformant code, not only ours. Is there any chance this can be corrected? Regards, Silvio Bierman
В списке pgsql-jdbc по дате отправления: