Cela devrait fonctionner si vous utilisez un Statement
au lieu d'un CallableStatement
.
Vous devez utiliser Statement pour tous les DDL, PreparedStatement pour DML et CallableStatement pour les appels de procédure. La création d'une procédure est DDL.
Un CallableStatement essaiera de détecter et de lier les variables identifiées par deux points : c'est donc probablement la raison pour laquelle votre code n'a pas fonctionné.