Обсуждение: JDBC driver method setClob always uses getAsciiStream()
Using driver: postgresql-8.4-701.jdbc3.jar The method setClob() in the AbstractJdbc2Statement calls the method getAsciiStream() on the provided Clob. This leads to problems if the given Clob contains an UTF-8 encoded string. Shouldn't the driver call getCharacterStream() instead? Can this problem be solved in a different way? Relevant code from the class: public void setClob(int i, Clob x) throws SQLException { checkClosed(); if (x == null) { setNull(i, Types.CLOB); return; } InputStream l_inStream = x.getAsciiStream(); ...
On Tue, 7 Sep 2010, Jochen Terstiege wrote: > Using driver: postgresql-8.4-701.jdbc3.jar > > The method setClob() in the AbstractJdbc2Statement calls the method > getAsciiStream() on the provided Clob. This leads to problems if the given > Clob contains an UTF-8 encoded string. > > Shouldn't the driver call getCharacterStream() instead? Can this problem be > solved in a different way? > Here are my comments from the identical earlier report on the -bugs list. http://archives.postgresql.org/pgsql-bugs/2010-09/msg00034.php Kris Jurka