Обсуждение: BUG #3278: PSQLException when using setBinaryStream via JDBC

Поиск
Список
Период
Сортировка

BUG #3278: PSQLException when using setBinaryStream via JDBC

От
"jeffrey zhao"
Дата:
The following bug has been logged online:

Bug reference:      3278
Logged by:          jeffrey zhao
Email address:      jeffrey.zhao@metalogic-inc.com
PostgreSQL version: 8.2.4-1
Operating system:   Windows XP
Description:        PSQLException when using setBinaryStream via JDBC
Details:

When I run the following program, I got an exception as following:

File file = new File("myimage.gif");
FileInputStream fis = new FileInputStream(file);
PreparedStatement ps = conn.prepareStatement("INSERT INTO images VALUES (?,
?)");
ps.setString(1, file.getName());
ps.setBinaryStream(2, fis, file.length());
ps.executeUpdate();
ps.close();
fis.close();

Exception:

org.postgresql.util.PSQLException: Method
org.postgresql.jdbc4.Jdbc4PreparedStat
ement.setBinaryStream(int, InputStream, long) is not yet implemented.
        at org.postgresql.Driver.notImplemented(Driver.java:728)
        at
org.postgresql.jdbc4.AbstractJdbc4Statement.setBinaryStream(AbstractJ
dbc4Statement.java:70)

Is the method setBinaryStream really not yet implemented?

Thanks.

Re: BUG #3278: PSQLException when using setBinaryStream via JDBC

От
Kris Jurka
Дата:
On Mon, 14 May 2007, jeffrey zhao wrote:

> The following bug has been logged online:
>
> Bug reference:      3278
>
> When I run the following program, I got an exception as following:
>
> ps.setBinaryStream(2, fis, file.length());
> org.postgresql.util.PSQLException: Method
> org.postgresql.jdbc4.Jdbc4PreparedStat
> ement.setBinaryStream(int, InputStream, long) is not yet implemented.
>
> Is the method setBinaryStream really not yet implemented?
>

JDBC4 added a setBinaryStream(int, InputStream, long) method which has not
been implemented yet.  JDBC2 offers setBinaryStream(int, InputStream, int)
which is implmented.  So you'll need to cast the last parameter to an
integer to make it work with the current driver.

Kris Jurka