| From: | "Frederic Thomas" <frederic(at)instranet(dot)com> |
|---|---|
| To: | <pgsql-jdbc(at)postgresql(dot)org> |
| Subject: | java.lang.NegativeArraySizeException at org.postgresql.jdbc1.AbstractJdbc1Statement.setBinaryStream() |
| Date: | 2003-11-18 07:19:38 |
| Message-ID: | NMENLJGHCHNAEDIPODIEMEAAKLAA.frederic@instranet.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kris Jurka | 2003-11-18 07:50:12 | Re: java.lang.NegativeArraySizeException at |
| Previous Message | Richard Scranton | 2003-11-18 05:38:16 | Build problems for PostgreSQL v7.4 on FreeBSD v4.1 |