3 messages in org.postgresql.pgsql-jdbcTrouble with CallableStatement
FromSent OnAttachments
Michael GuyverJul 22, 2006 5:55 pm 
Michael GuyverJul 23, 2006 4:27 am 
Michael GuyverJul 23, 2006 5:04 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Trouble with CallableStatementActions...
From:Michael Guyver (kene@googlemail.com)
Date:Jul 22, 2006 5:55:19 pm
List:org.postgresql.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