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:
die Create Function DDLCode: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
der Java CodeCode: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;
DankeCode: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)); }
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen