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)
>
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 |