Hallo,

soll die im Titel angebene Fehlermeldung heissen, dass pl/Java zwar in Java geschriebene Prozeduren ausführen kann, aber nur solange diese keine stored procedures aufrufen?

Hintergrund: Versuche für Apache Derby in Java geschriebene Stored Procedures (die unter Derby erfolgreich im Einsatz sind) unter PostgreSQL zu verwenden, um so auch PostgreSQL als backend verwenden zu können.

Hier der Aufruf und Fehlermeldung:
Code:
select appl."SPij_addFolder"('000',  0, 'addAsFirstChild', 'xxxx');

ERROR:  java.lang.UnsupportedOperationException: Procedure calls are not  yet implemented

********** Fehler **********

ERROR: java.lang.UnsupportedOperationException: Procedure calls are not  yet implemented
SQL Status:XX000
die Create Function DDL
Code:
CREATE OR REPLACE FUNCTION appl."SPij_addFolder"("vcClientID" character varying, "iAnchorFolderID" integer, "vcMethod" character varying, "vcFolderName" character varying)
  RETURNS void AS
'allDatabasesPk.Procedures.SPij_addFolder'
  LANGUAGE 'java' VOLATILE
  COST 100;
der Java Code
Code:
    public static void SPij_addFolder(String vcClientID, int iAnchorFolderID,
            String vcMethod, String vcFolderName) throws SQLException {
        Connection conn = getDefaultConnection();

        CallableStatement cstmt = conn
                .prepareCall("{ call appl.\"SP_addFolder\"(?, ?, ?, ?, ?) }");
        cstmt.registerOutParameter(1, Types.INTEGER);
        cstmt.setString(2, vcClientID);
        cstmt.setInt(3, iAnchorFolderID);
        cstmt.setString(4, vcMethod);
        cstmt.setString(5, vcFolderName);
        cstmt.executeUpdate();
        int iNewFolderID = cstmt.getInt(1);
        System.out.println(Integer.toString(iNewFolderID));
    }
Danke