2012-06-02 7 views
9

Ho una stored procedure in un database Oracle 11g come f (a IN, b IN, c OUT). Voglio chiamarlo da JDBC in modalità batch e quindi leggere tutte le variabili OUT.
È possibile? ho questo finorain Oracle JDBC è possibile memorizzare le chiamate di procedura memorizzate e recuperare i parametri OUT?

CallableStatement statement = connection.prepareCall("f(?, ?, ?)"); 
    for(Item i : items) { 
    int i = 0; 
    statement.setString(++i, item.getA()); 
    statement.setString(++i, item.getB()); 
    statement.registerOutParameter(++i, Types.NUMERIC); 
    statement.addBatch(); 
    } 
    statement.executeBatch(); 
    int[] answers = ? 

Grazie

risposta

7

Purtroppo, no.

La possibilità di eseguire aggiornamenti batch è la stessa per gli oggetti CallableStatement come per gli oggetti PreparedStatement. In effetti, un oggetto CallableStatement è limitato alla stessa funzionalità di di un oggetto PreparedStatement. Più precisamente, quando si utilizza la funzione di aggiornamento del lotto , un oggetto CallableStatement può chiamare solo le stored procedure che accettano parametri di input o nessun parametro.

Riferimento: http://docs.oracle.com/javase/1.4.2/docs/guide/jdbc/getstart/callablestatement.html#1000220