Обсуждение: JDBC support for 8.1 OUT parameters

Поиск
Список
Период
Сортировка

JDBC support for 8.1 OUT parameters

От
"Adam Zimowski"
Дата:
Hi,

Do you know where I can find Postgres JDBC driver that supports out
parameters? When I call my procedure, I'm getting:

org.postgresql.util.PSQLException: A CallableStatement function was
executed and the return was of type java.sql.Types=1111 however type
java.sql.Types=0 was registered.

I'm pretty sure the driver version I have
(postgresql-8.1-405.jdbc3.jar) supports OUT only on first parameter.
I've looked on the web but did not find anything. I saw a few patches,
but I wasn't sure if they were it.

CREATE OR REPLACE FUNCTION main.p_get_profile_simple(IN _profile_id
int8, OUT _main refcursor, OUT _lookingfor refcursor, OUT _purpose
refcursor) AS
....

CallableStatement stmt = null;
stmt = oCon.prepareCall("{ call main.p_get_profile_simple(?,?,?,?) }");
stmt.setLong(1, aMemberId);
stmt.registerOutParameter(2, Types.REF);
stmt.registerOutParameter(3, Types.REF);
stmt.registerOutParameter(4, Types.REF);

Regards,
Adam

Re: JDBC support for 8.1 OUT parameters

От
"Adam Zimowski"
Дата:
Just a quick note:

In my code I'm using Types.OTHER.  As a troubleshooting step I also
tried Types.REF. The PostgreSQL version I'm on is 8.1.0.

CREATE OR REPLACE FUNCTION main.p_get_profile_simple(IN _profile_id
int8, OUT _main refcursor, OUT _lookingfor refcursor, OUT _purpose
refcursor) AS
....

CallableStatement stmt = null;
stmt = oCon.prepareCall("{ call main.p_get_profile_simple(?,?,?,?) }");
stmt.setLong(1, aMemberId);
stmt.registerOutParameter(2, Types.OTHER);
stmt.registerOutParameter(3, Types.OTHER);
stmt.registerOutParameter(4, Types.OTHER);

Regards,
Adam

On 3/5/06, Adam Zimowski <zimowski74@gmail.com> wrote:
> Hi,
>
> Do you know where I can find Postgres JDBC driver that supports out
> parameters? When I call my procedure, I'm getting:
>
> org.postgresql.util.PSQLException: A CallableStatement function was
> executed and the return was of type java.sql.Types=1111 however type
> java.sql.Types=0 was registered.
>
> I'm pretty sure the driver version I have
> (postgresql-8.1-405.jdbc3.jar) supports OUT only on first parameter.
> I've looked on the web but did not find anything. I saw a few patches,
> but I wasn't sure if they were it.
>
> CREATE OR REPLACE FUNCTION main.p_get_profile_simple(IN _profile_id
> int8, OUT _main refcursor, OUT _lookingfor refcursor, OUT _purpose
> refcursor) AS
> ....
>
> CallableStatement stmt = null;
> stmt = oCon.prepareCall("{ call main.p_get_profile_simple(?,?,?,?) }");
> stmt.setLong(1, aMemberId);
> stmt.registerOutParameter(2, Types.REF);
> stmt.registerOutParameter(3, Types.REF);
> stmt.registerOutParameter(4, Types.REF);
>
> Regards,
> Adam
>

Re: JDBC support for 8.1 OUT parameters

От
Dave Cramer
Дата:
Adam,

No the driver supports out parameters. Have a look at the test code
in the source.

Dave
On 5-Mar-06, at 11:26 AM, Adam Zimowski wrote:

> Hi,
>
> Do you know where I can find Postgres JDBC driver that supports out
> parameters? When I call my procedure, I'm getting:
>
> org.postgresql.util.PSQLException: A CallableStatement function was
> executed and the return was of type java.sql.Types=1111 however type
> java.sql.Types=0 was registered.
>
> I'm pretty sure the driver version I have
> (postgresql-8.1-405.jdbc3.jar) supports OUT only on first parameter.
> I've looked on the web but did not find anything. I saw a few patches,
> but I wasn't sure if they were it.
>
> CREATE OR REPLACE FUNCTION main.p_get_profile_simple(IN _profile_id
> int8, OUT _main refcursor, OUT _lookingfor refcursor, OUT _purpose
> refcursor) AS
> ....
>
> CallableStatement stmt = null;
> stmt = oCon.prepareCall("{ call main.p_get_profile_simple
> (?,?,?,?) }");
> stmt.setLong(1, aMemberId);
> stmt.registerOutParameter(2, Types.REF);
> stmt.registerOutParameter(3, Types.REF);
> stmt.registerOutParameter(4, Types.REF);
>
> Regards,
> Adam
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>