Dovrebbe funzionare se utilizzi un Statement
invece di un CallableStatement
.
Dovresti usare Statement per tutti i DDL, PreparedStatement per DML e CallableStatement per le chiamate di procedura. La creazione di una procedura è DDL.
Un CallableStatement cercherà di rilevare e associare le variabili identificate da due punti : quindi questo è probabilmente il motivo per cui il tuo codice non ha funzionato.