NullPointerException in ResultSetMetaData getColumnCount when using on a resultset from a stored function

Поиск
Список
Период
Сортировка
От tomas.johansson@agent25.se (Tomas)
Тема NullPointerException in ResultSetMetaData getColumnCount when using on a resultset from a stored function
Дата
Msg-id 2e107e13.0410180639.70aea0e0@posting.google.com
обсуждение исходный текст
Ответы Re: NullPointerException in ResultSetMetaData getColumnCount  (Kris Jurka <books@ejurka.com>)
Список pgsql-jdbc
How can you get metadata from a resultset that is returned from a
stored function ?

I have tried the code below with the latest "pg74.215.jdbc3.jar" at
http://jdbc.postgresql.org/download.html
but the invocation of metaData.getColumnCount()) below will lead to a
NullPointerException:
java.lang.NullPointerException
    at org.postgresql.jdbc2.AbstractJdbc2ResultSetMetaData.getColumnCount(AbstractJdbc2ResultSetMetaData.java:34)

private void testCallable(Connection conn) throws Exception
    {
        CallableStatement call = conn.prepareCall("{ ? = call
myfunction() }");
        call.registerOutParameter(1, Types.OTHER);
        call.execute();
        ResultSet results = (ResultSet) call.getObject(1);

        ResultSetMetaData metaData =  results.getMetaData();
        System.out.println("getColumnCount: " +
metaData.getColumnCount());

        results.close();
        call.close();
    }




CREATE TABLE public.mytable
(
  mycolumn int4,
  mycolumn2 int4
)


CREATE OR REPLACE FUNCTION public.myfunction()
  RETURNS refcursor AS
'
DECLARE
        ref refcursor;
BEGIN
        OPEN ref FOR
    SELECT mycolumn, mycolumn2 FROM mytable;
        RETURN ref;
END;
'
  LANGUAGE 'plpgsql'

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Tony Grant
Дата:
Сообщение: boolean problem
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: Initial translation : Turkish