Deve funcionar se você usar um
Declaração
em vez de um CallableStatement
. Você deve usar
Instrução
para todos os DDL, PreparedStatement
para DML e CallableStatement
para chamadas de procedimento. Criar um procedimento é DDL. Um
CallableStatement
tentará detectar e vincular variáveis identificadas por dois pontos :
então provavelmente é por isso que seu código não funcionou.