Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    setBinaryStream dentro un ciclo for non funziona correttamente.

    Dentro un ciclo for effettuo la seguente istruzione:

    callableStatement.setBinaryStream(1, nomeFile, lunghFile);

    per inserire su una tabella Oracle, dentro un campo Clob un allegato.

    Accade però che al primo giro del ciclo, allegato viene inserito correttamente (nel senso che se poi lo visualizzo, vedo correttamente il suo contenuto), mentre per le iterazioni successive,viene inserito in formato esadecimale e quindi non lo vedo correttamente.

    Cosa sto sbagliando?

    Grazie anticipatamente.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ok, mi puoi suggerire come riportarlo indietro?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Se il tuo oggetto "nomeFile" è un FileInputStream non ci sono tante strade... devi ricrearlo, essendo che gli oggetti FileInputStream non sono "riavvolgibili".

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Ottimo....ricostruendo il File, funziona correttamente.

    Grazie del supporto.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.