Re: Function not found with JDBC 8.0 driver and later

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Donny Tjandra <dtjandra(at)pcthome(dot)com>
Cc: "'pgsql-jdbc(at)postgresql(dot)org'" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Function not found with JDBC 8.0 driver and later
Date: 2005-06-15 20:03:10
Message-ID: C9285F2B-7DB8-4B92-A3BB-DA5C82E4F2F3@fastcrypt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

This is because the 8.0 drivers expect you to pass an int when the
function signature is int. Parameter 4 is an int, and you are passing
a long.

Dave
On 15-Jun-05, at 3:13 PM, Donny Tjandra wrote:

> I'm running PostgreSQL 8.0.3 for Windows. In the database I have a
> function defined like this:
>
> CREATE OR REPLACE FUNCTION get_property_list2(text, date, int4, int4)
> ...
>
> The parameters are passed from JDBC like this:
>
> PreparedStatement ps
> ps.setInt(3, ((Integer)queryParameters[2]).intValue());
> ps.setLong(4, ((Long)queryParameters[3]).longValue());
>
> With pg73jdbc3.jar the function call works fine. With
> pg80b1.308.jdbc3.jar or postgresql-8.0-311.jdbc3.jar, the driver
> can't seem to recognize the database function. I get stack trace as
> shown below. Seems like there's a mismatch with long integer type
> mapping between 8.0+ JDBC drivers and PostgreSQL? Can this be
> looked at for future release of the driver? Thanks.
>
> java.sql.SQLException: ERROR: function get_property_list2(character
> varying, date, integer, bigint) does not exist
> at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse
> (QueryExecutorImpl.java:1471)
> at org.postgresql.core.v3.QueryExecutorImpl.processResults
> (QueryExecutorImpl.java:1256)
> at org.postgresql.core.v3.QueryExecutorImpl.execute
> (QueryExecutorImpl.java:175)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute
> (AbstractJdbc2Statement.java:389)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags
> (AbstractJdbc2Statement.java:330)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery
> (AbstractJdbc2Statement.java:240)
> at
> org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery
> (DelegatingPreparedStatement.java:92)
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2005-06-15 22:50:34 Re: Function not found with JDBC 8.0 driver and later
Previous Message Donny Tjandra 2005-06-15 19:13:42 Function not found with JDBC 8.0 driver and later