Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    Connessione con database Mysql..

    Salve ragazzi,
    vorrei chiedervi un aiuto perchè non so proprio come fare.
    Ho realizzato un'applicazione in JSF che tra le tante cose converte un file in input in un array di byte. Devo ora inserire quest'array di byte in un campo blob di un database mysql.
    Come posso fare?
    Esiste un tutorial che mi faccia vedere come muovermi?Vi ringrazio anticipatamente

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    puoi provare con un PreparedStatement e setAsciiStream

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    Cosa devo inserire nel blob?

    Salve ragazzi,
    avrei una domanda da farvi...nella connessione java con un db mysql è possibile "inserire" direttamente in un campo blob del database un array di byte (byte[] x)costruito nell'applicazione java o devo scriverlo prima in un file e poi inserire il file?
    Se è possibile inserire direttamente l'array di byte come devo fare nell'istruzione insert?
    Grazie mille

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465

    Moderazione

    Ho unito il tuo messaggio alla discussione precedente, visto che si tratta dello stesso problema.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    non devi creare un file
    basta che passi al setAsciiStream un InputStreamReader costruito a partire da uno StringReader

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258
    Grazie Floyd per la risposta,ma avrei bisogno di qualche altro aiuto perchè sono un pò inesperto ed è la prima volta che faccio una cosa del genere.
    Credo che il comando a cui tu alludi sia

    void setAsciiStream(int parameterIndex,
    InputStream x,
    int length)
    throws SQLException)

    dell'Interface PreparedStatement.

    Ma non ho capito cosa dovrei fare e come?
    Mi daresti una mano con un pò di codice e qualche commento?
    Come ti ho detto l'array di byte l'ho creato con una routine java,mi serve integrare il tutto in un'applicazione web che permetta l'upload di un utente da casa di un file, ne faccia la conversione in un array di byte e lo metta nel campo blob di un db.
    Grazie mille

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    codice:
    Connection conn = ...
    // preparo lo statement parametrico
    PreparedStatement pst = conn.prepareStatement("INSERT INTO tabella VALUES (?, ?, ?)");
    // imposto i valori
    byte[] x = ...
    String value = new String(x);
    pst.setInt(1, 10);
    pst.setString(2, "ciao");
    pst.setAsciiStream(3, new InputStreamReader(new StringReader(value)), x.length);
    pst.executeUpdate();
    pst.close();
    non uso campi blob, perciò non sono sicuro che il codice funzioni, ma dovrebbe andare

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    scusa
    meglio questo
    codice:
    pst.setCharacterStream(3, new StringReader(value), x.length);

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258
    Grazie mille Floyd....non ho ancora provato il tuo codice perchè sto "studiando" un pò l'applicazione ma sono sicuro che funzionerà egregiamente......
    ti dovrei chiedere un altro consiglio sempre al riguardo.
    Dovrei realizzare questa connessione al db mysql nel contesto di un'applicazione web con JSF....sapresti darmi consigli al riguardo?

  10. #10
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    su cosa :master:

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 © 2025 vBulletin Solutions, Inc. All rights reserved.