Hallo alle zusammen
Ich habe ein kleines Problem mit meiner Anwendung. Ich möchte in meinem Programm eine PL/SQL-Prozedur aufrufen. Das habe ich auch schon öfters gemacht und es hat immer super geklappt.
Nun bekomme ich aber von der Prozedur eine Collection(Array) zurück und ich weiß nicht wie ich den Rückgabeparameter initialisieren kann. Bekomme immer die Fehlermeldung:
- ORA-06550: Zeile 1, Spalte 7: PLS-00306: Falsche Anzahl oder Typen von Argumenten in Aufruf von 'CMB_DO_HWPLZ_DATENSCHUTZ' ORA-06550: Zeile 1, Spalte 7: PL/SQL: Statement ignored
Mein Code sieht folgendermaßen aus:
Ich hoffe ihr könnt mir helfen. Bin schon am verzweifeln.
Ich habe ein kleines Problem mit meiner Anwendung. Ich möchte in meinem Programm eine PL/SQL-Prozedur aufrufen. Das habe ich auch schon öfters gemacht und es hat immer super geklappt.
Nun bekomme ich aber von der Prozedur eine Collection(Array) zurück und ich weiß nicht wie ich den Rückgabeparameter initialisieren kann. Bekomme immer die Fehlermeldung:
- ORA-06550: Zeile 1, Spalte 7: PLS-00306: Falsche Anzahl oder Typen von Argumenten in Aufruf von 'CMB_DO_HWPLZ_DATENSCHUTZ' ORA-06550: Zeile 1, Spalte 7: PL/SQL: Statement ignored
Mein Code sieht folgendermaßen aus:
Code:
try {
//Connection erzeugen um Package-Prozedur ausführen zu können
OracleDataSource ds = new OracleDataSource();
ds.setServerName(dat.getDBip());
ds.setPortNumber(dat.getDBport());
ds.setDatabaseName(dat.getDBsid());
ds.setUser(dat.getDBuser());
ds.setPassword(dat.getDBpw());
ds.setDriverType("thin");
con = ds.getConnection();
//Aufruf der Prozedur
OracleCallableStatement callableStatement = (OracleCallableStatement) con.prepareCall("{" +
"call HWPLZ_D_DATENSCHUTZ_PKG.CMB_do_hwplz_datenschutz(?,?,?,?,?,?,?,?,?,?,?)}");
callableStatement.setString(1, "D");
callableStatement.setString(2, "00000000000000000000");
callableStatement.setString(3, getPlz());
callableStatement.setString(4, getOrt());
callableStatement.setString(5, "");
callableStatement.setString(6, getStrasse());
callableStatement.setString(7, getHsnr());
callableStatement.setString(8, "");
callableStatement.registerOutParameter(9, Types.INTEGER);
callableStatement.registerOutParameter(10, Types.INTEGER);
callableStatement.registerOutParameter(11, Types.ARRAY, OracleTypes.ARRAY);
callableStatement.execute();
.............