Обсуждение: PG 8.2's JDBC, and Statement.executeUpdate(String, String[]) causing AbstractMethodError

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

PG 8.2's JDBC, and Statement.executeUpdate(String, String[]) causing AbstractMethodError

От
Ken Johanson
Дата:
Hello all,

I'm getting a:

AbstractMethodError:
org.postgresql.jdbc2.Jdbc2Statement.executeUpdate(Ljava/lang/String;[Ljava/lang/String;)I

when I call Statement.executeUpdate(String, String[]) on the PG 8.2
distro's JDBC driver (I did not check any other versions).

Is there anything I should check in terms of my settings? I recall
seeing a discussion about prepared stmts being server side now, not in
the driver... and I am using the 'stringtype=unspecified' JDBC URL
parameter; not sure if this could be related.

Thanks in advance,

ken



Re: PG 8.2's JDBC, and Statement.executeUpdate(String, String[])

От
Ken Johanson
Дата:
Kris Jurka wrote:
>
>
> On Wed, 13 Dec 2006, Ken Johanson wrote:
>
>> Hello all,
>>
>> I'm getting a:
>>
>> AbstractMethodError:
>> org.postgresql.jdbc2.Jdbc2Statement.executeUpdate(Ljava/lang/String;[Ljava/lang/String;)I
>>
>>
>> when I call Statement.executeUpdate(String, String[]) on the PG 8.2
>> distro's JDBC driver (I did not check any other versions).
>>
>
> executeUpdate(String, String[]) is a JDBC3 method, but you are evidently
> using a JDBC2 driver.  When you use a JDBC3 driver you will get a
> SQLException reporting that this method is not implemented if you
> supply anything other than an array of zero length.  Actually this
> should probably also allow a null array as now it will throw a NPE when
> it shouldn't.
>
> Kris Jurka
>
>
>
>

Thank you Kris. Yes, I just now noticed that. Had both 2 and 3 drivers
in my classpath. Removed the V2 drivers, but now I get a:

org.postgresql.util.PSQLException: Returning autogenerated keys is not
supported

I'll have to do some searching to find out why this features isn't
supported (unless someone has quick pointers to docs :).

Thank you again,

Ken



Re: PG 8.2's JDBC, and Statement.executeUpdate(String,

От
Kris Jurka
Дата:

On Wed, 13 Dec 2006, Ken Johanson wrote:

> Hello all,
>
> I'm getting a:
>
> AbstractMethodError:
> org.postgresql.jdbc2.Jdbc2Statement.executeUpdate(Ljava/lang/String;[Ljava/lang/String;)I
>
> when I call Statement.executeUpdate(String, String[]) on the PG 8.2 distro's
> JDBC driver (I did not check any other versions).
>

executeUpdate(String, String[]) is a JDBC3 method, but you are evidently
using a JDBC2 driver.  When you use a JDBC3 driver you will get a
SQLException reporting that this method is not implemented if you
supply anything other than an array of zero length.  Actually this should
probably also allow a null array as now it will throw a NPE when it
shouldn't.

Kris Jurka