Trouble with CallableStatement

From: "Michael Guyver" <kenevel(at)googlemail(dot)com>
To: pgsql-jdbc <pgsql-jdbc(at)postgresql(dot)org>
Subject: Trouble with CallableStatement
Date: 2006-07-23 00:55:42
Message-ID: 30b57570607221755q76771c94l84013aef90b16f96@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi there,

I'm having trouble getting a CallableStatement to work with the
following function

CREATE OR REPLACE FUNCTION pro_register_cookie_for_user(
prmUserId int8,
prmSecureGuid varchar,
OUT outUsernameHash varchar,
OUT outMaxAge float4)
AS $$
...
$$ LANGUAGE plpgsql;

The function works fine over pgAdmin, so I think the problem lies in
the Java code.

callable = conn.prepareCall("{call pro_register_cookie_for_user(?, ?, ?, ?)}");

callable.setLong(1, playerId);
callable.setString(2, secureGuid);
callable.registerOutParameter(3, Types.VARCHAR);
callable.registerOutParameter(4, Types.FLOAT);

callable.executeQuery();

String usernameHash = callable.getString(3);
float maxAgeF = callable.getFloat(4);

When running this on Java 1.5, pgsql-jdbc 8.1.404 and Postgres 8.1, I
get the following error:

A CallableStatement function was executed and the return was of type
java.sql.Types=12 however type java.sql.Types=0 was registered.
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:380)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:250)

Can anyone shed some light on what I'm doing wrong?

Cheers

Michael

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message java unix 2006-07-23 04:08:46 please help
Previous Message Marc Herbert 2006-07-21 14:19:29 Re: DatabaseMetaData.getTables() is silently quoting table identifiers?