Обсуждение: blob setBinaryStream

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

blob setBinaryStream

От
Matt Fair
Дата:
Do you need to create a transaction to set blobs?
        con.setAutoCommit(false);
        FileInputStream fis = new FileInputStream(file);
        PreparedStatement ps = con.prepareStatement("update=
userpreferences set image='?' and time=? where user='?'");
        Logger.log("Setting Binary Stream");
        ps.setBinaryStream(1, fis, length);
        ps.setInt(2, (int)new java.util.Date().getTime());
        ps.setString(3, user);
        ps.executeUpdate();
        ps.close();
        fis.close();
        con.commit();
        con.setAutoCommit(true) ;

When Set Binarystream calls the setInt method, it throws a
 SQLExceptionParameter index out of range.
Does anyone know what this could be?



Re: blob setBinaryStream

От
Matt Fair
Дата:
The stack trace I get with this is:

Parameter index out of range.
        at
org.postgresql.jdbc2.PreparedStatement.set(PreparedStatement.java:658)
        at
org.postgresql.jdbc2.PreparedStatement.setInt(PreparedStatement.java:210)
        at
org.opensimpx.server.RequestHandler.storeBackgroundImage(RequestHandler.java:628)
        at
org.opensimpx.server.RequestHandler.recieve(RequestHandler.java:597)
        at org.opensimpx.server.RequestHandler.run(RequestHandler.java:215)
        at java.lang.Thread.run(Thread.java:479)
Any help with this would be greatly appreciated.
Thanks in advanced.
Matt

Matt Fair wrote:

> Do you need to create a transaction to set blobs?
>        con.setAutoCommit(false);
>        FileInputStream fis = new FileInputStream(file);
>        PreparedStatement ps = con.prepareStatement("update=
> userpreferences set image='?' and time=? where user='?'");
>        Logger.log("Setting Binary Stream");
>        ps.setBinaryStream(1, fis, length);
>        ps.setInt(2, (int)new java.util.Date().getTime());
>        ps.setString(3, user);
>        ps.executeUpdate();
>        ps.close();
>        fis.close();
>        con.commit();
>        con.setAutoCommit(true) ;
>
> When Set Binarystream calls the setInt method, it throws a
> SQLExceptionParameter index out of range.
> Does anyone know what this could be?
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>




Re: blob setBinaryStream

От
Rene Pijlman
Дата:
On Mon, 24 Sep 2001 09:46:49 -0500, you wrote:
>        PreparedStatement ps = con.prepareStatement("update=
>userpreferences set image='?' and time=? where user='?'");

I guess the single quotes around the question mark placeholder
are the cause of your problem.

Regards,
René Pijlman <rene@lab.applinet.nl>