select文プロシージャ呼び出し時のエラー

DERBYのプロシージャ呼び出しで、結果セットを取得しようと以下のコードを書いたところ、
エラーがでて解決するのに時間がかかった。

public static void main(String[] args) {
    ...

    Connection conn = DriverManager.getConnection("jdbc:derby:d:/temp/testdb");
    CallableStatement cstmt = conn.prepareCall("{call TEST_PROCEDURE()}");
    ResultSet rset = cstmt.executeQuery(); // error

    ...
}

public static void testProcedure(ResultSet[] rset) {
    ...

    Connection conn = DriverManager.getConnection("jdbc:derby:d:/temp/testdb");
    rset[0] = conn.prepareStatement("select * from articles").executeQuery();

    ...
}
CREATE PROCEDURE TEST_PROCEDURE()  
DYNAMIC RESULT SETS 1  
LANGUAGE JAVA  
EXTERNAL NAME 'com.db._jdbc_update.testProcedure'   
PARAMETER STYLE JAVA  
READS SQL DATA;

エラー内容

java.sql.SQLException: Statement.executeQuery() は、行カウントを戻すステートメントを使って呼び出せません。エラー・コード: 20000
Caused by: ERROR X0Y78: Statement.executeQuery() は、行カウントを戻すステートメントを使って呼び出せません。

原因はプロシージャ内のDB接続処理で指定しているURLがまずかった。正しくは以下。

    Connection conn = DriverManager.getConnection("jdbc:default:connection");

参考:[DERBY-501] Client and embedded drivers differ on invoking a procedure that returns a single Dynamic resultSet using CallableStatement.executeQuery() - ASF JIRA
なんでやねーん。