java.lang.NegativeArraySizeException at org.postgresql.jdbc1.AbstractJdbc1Statement.setBinaryStream()
От | Frederic Thomas |
---|---|
Тема | java.lang.NegativeArraySizeException at org.postgresql.jdbc1.AbstractJdbc1Statement.setBinaryStream() |
Дата | |
Msg-id | NMENLJGHCHNAEDIPODIEMEAAKLAA.frederic@instranet.com обсуждение исходный текст |
Ответы |
Re: java.lang.NegativeArraySizeException at
|
Список | pgsql-jdbc |
Hello, I've the following code : ... ByteArrayInputStream is = new ByteArrayInputStream(str.getBytes()); prepStatement.setBinaryStream(1, is, str.getBytes().length); // can be UTF-8 ... assuming that prepStatement is a correct query that updates a row containing a TEXT field, in column 1, and str represents a Unicode string to store in this TEXT field. When running this exact code with PostgreSQL 7.2 driver using the "?compatible=7.1" switch, it was working just fine when called with an empty str (str = ""). When I ported this application to use PostgreSQL 7.3 driver without the "?compatible=7.1", this code produces a java.lang.NegativeArraySizeException on the prepStatement.setBinaryStream() line. FYI, I noted that I had to change OID to BYTEA in my schema for the BLOBs in order to upgrade from 7.1 to 7.3 compatibility mode, but didn't see anything regarding TEXT fields (CLOB). I can also add that I tried all the different 7.3 drivers as well as the latest 7.4 dev driver with the exact same error. Finally, I couldn't find, in the Java 1.3 documentation, anything regarding the second and third parameters of PreparedStatement.setBinaryStream() which, to me, can be null and 0 respectively. Any help would be greatly appreciated, Thanks in advance, Frederic Thomas.
В списке pgsql-jdbc по дате отправления: