setBinaryStream di CallableStatement riceve come parametri:

1) Il numero del campo da settare
2) Un InputStream da cui leggere i dati
3) Il numero di byte da leggere dallo stream

Ergo, se al primo giro leggi tutto lo stream, al secondo giro devi "riportarlo indietro", altrimimenti tenterà di leggere da uno stream che è già oltre l'EOF.


Ciao.