Re: JDBC exception, incompatible types in simple stored procedure. - Mailing list pgsql-jdbc

From Albe Laurenz
Subject Re: JDBC exception, incompatible types in simple stored procedure.
Date
Msg-id D960CB61B694CF459DCFB4B0128514C202F75D8D@exadv11.host.magwien.gv.at
Whole thread Raw
In response to JDBC exception, incompatible types in simple stored procedure.  (uprooter <uprooter@gmail.com>)
Responses Re: JDBC exception, incompatible types in simple stored procedure.  (uprooter <uprooter@gmail.com>)
List pgsql-jdbc
uprooter wrote:
> I'm using this code to access a very simple stored procedure
> that has 1 in
> parameter and 1 out parameter:
>         String url = "jdbc:postgresql://localhost/DB2";
>         Properties props = new Properties();
>         props.setProperty("user", "user");
>         props.setProperty("password", "blah");
>         Connection conn = DriverManager.getConnection(url, props);
>         CallableStatement upperProc = conn.prepareCall("{ ? = call stub( ? ) }");
>         upperProc.registerOutParameter(1, Types.OTHER);
>         upperProc.setInt(2, 2);
>         upperProc.execute();
>         Object upperCased = upperProc.getObject(1);
>         System.out.println("uppercased:" + upperCased.toString());
>         upperProc.close();
>
> I'm getting the following exception:
> Exception in thread "main" org.postgresql.util.PSQLException: A
> CallableStatement function was executed and the out parameter 1 was of type
> java.sql.Types=-5 however type java.sql.Types=1111 was registered.
>
> I know I can register to another type but due to other restrictions I can't
> change the registration type.
> Any idea ?

Maybe you can use PreparedStatement:

    PreparedStatement stmt = conn.prepareStatement("SELECT stub( ? )");
    stmt.setInt(1, 2);
    ResultSet rs = stmt.executeQuery();
    rs.next();
    System.out.println("uppercased: " + rs.getObject(1));
    rs.close();

Yours,
Laurenz Albe

pgsql-jdbc by date:

Previous
From: Kent Tong
Date:
Subject: experience sharing: select query returns more records than necessary
Next
From: "Dave Cramer"
Date:
Subject: Re: experience sharing: select query returns more records than necessary