Обсуждение: 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
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
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