Hallo zusammen,

ich habe folgendes Problem. Ich habe eine Stored Procedure in RPG mit Embedded SQL, bei der ein Resultset mit "SET RESULT SETS..." zurückgegeben wird. Diese SP wird in einem Java-Programm häufig aufgerufen. Irgendwann erhalte ich dann den Fehler SQL7049. Hier ist eine Beschreibung dazu:

https://www.ibm.com/support/pages/ca...essage-sql7049

Das ist genau das Phänomen, das ich auch habe. Anscheinend wird das Resultset in der SP nicht geschlossen. Nur wie und an welcher Stelle kann ich das denn schließen? Im RPG-Programm kann und darf ich es ja noch nicht schließen, da das Resultset ja erst mal an Java übergeben werden muss. Und in Java mache ich ja einen Close auf das Resultset, das CallableStatement und die Connection. Hier noch ein Ausschnitt aus dem Java-Programm:

Code:
try {
            CallableStatement cs = conn.prepareCall("{call internet.int101(?,?,?,?,?,?,?,?)}");
            cs.setInt(1, firma);
            cs.setInt(2, kundennummer);
            cs.setString(3, sprachcode);
            cs.setInt(4, selektionstyp);
            cs.setInt(5, produktgruppe);
            cs.setString(6, anwendungsbezeichnung);
            cs.setInt(7, navigation);
            cs.setString(8, artikelnummer);
            ResultSet rs = cs.executeQuery();
            while (rs.next()) {
            	// nächste Artikeldaten
                ...
            }
         }
		catch (Exception e) {
		}
		finally {
			try {
				if (rs != null) {
					rs.close();
					rs = null;
					} 
			} catch (SQLException e) {}
			try {
				if (cs != null) {
					cs.close();
					cs = null;
					} 
			} catch (SQLException e) {}
			try {
				if (conn != null) {
					conn.close();
					conn = null;
					} 
			} catch (SQLException e) {}
        }
Die Connections werden aus einem Connection Pool geholt.

Wo liegt hier das Problem und wie kann ich es lösen?

Vielen Dank!
KM