Re: java.lang.NegativeArraySizeException at
От | Kris Jurka |
---|---|
Тема | Re: java.lang.NegativeArraySizeException at |
Дата | |
Msg-id | Pine.LNX.4.33.0311180225570.21643-200000@leary.csoft.net обсуждение исходный текст |
Ответ на | java.lang.NegativeArraySizeException at org.postgresql.jdbc1.AbstractJdbc1Statement.setBinaryStream() ("Frederic Thomas" <frederic@instranet.com>) |
Ответы |
Re: java.lang.NegativeArraySizeException at org.postgresql.jdbc1.AbstractJdbc1Statement.setBinaryStream()
|
Список | pgsql-jdbc |
On Tue, 18 Nov 2003, Frederic Thomas wrote: > 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. > I think the real question is: why are you calling setBinaryStream on a text field? Shouldn't you just do: prepStatement.setString(1,str); instead of going through the BinaryStream? In any case the driver shouldn't throw an Exception like that. Here's a patch that fixes that. Kris Jurka
Вложения
В списке pgsql-jdbc по дате отправления: