无法在Java中调用存储过程

时间:2015-12-09 14:22:23

标签: java postgresql stored-procedures ref-cursor

我在JMS:<Queue Manager>:<Client ID>:<subscription name> 写了一个stored procedure。我试着在java中使用这个程序,它抛出&#39; PostgreSQL&#39;异常。

过程:

org.postgresql.util.PSQLException: ERROR: cursor " < unnamed portal 1  > " does not exist

调用程序,在CREATE OR REPLACE FUNCTION subject_show(session_id CHARACTER VARYING,OUT result_cursor refcursor, OUT total_record INTEGER, OUT total_search_record INTEGER ) AS $$ BEGIN total_record:=23; total_search_record:=22; OPEN result_cursor FOR SELECT "ID","NAME" FROM "SUBJECTS" ; END; $$ LANGUAGE plpgsql;

java

1 个答案:

答案 0 :(得分:0)

我发现了, 如果您关闭了自动提交,我只能这样做。游标是 只在一个事务中有效,因此一旦驱动程序提交 光标不再有效。因此我收到的错误。