[ tokajac @ 15.12.2008. 17:43 ] @
Hocu da niz bajtova, koji su ustvari vrednost kolone iz baze ciji je tip BLOB, prebacim u String.

Dakle, pomocu ovog koda:
Code:

OutputStream  out = System.out;
try {
   out.write( byteArrayBlob );
   out.flush();
} catch (IOException e) {
  e.printStackTrace();
}

Niz bojatova se kao text ispishe na konzolu -sve cool.
Ono sto hocu je da ga upishem u String ili StringBuffer, koji cu dalje koristiti u aplikaciji.


Nije moguce koristiti String konstruktor: new String(byte[]), posto se radi o BLOB tipu (valjda je to neki pokazivac?).
Mozda treba napraviti vezu izmedju OUT/IN streamova? Kako? Probao sam neke primere, ali rade samo za obicne stringove, ne i za niz bytova.

Znam da postoji razlika izmedju Writera(text) i Streamova(bytovi).
Trenutno sam resio tako sto sve upisem u fajl pa onda iscitavam iz fajla. Kako da realizujem direktno resenje?


Pozdrav

[ Ivan Ivanic @ 15.12.2008. 22:03 ] @
Pogledaj API za:
java/sql/ResultSet method getString(int)
java/sql/ResultSet method getString(java.lang.String)

Pitanje ti je totalno nejasno. Mislim da će ti ovo pomoći.
Ivan
[ Chobicus @ 16.12.2008. 08:26 ] @
Nisam probao ali deluje da radi:
http://www.kodejava.org/examples/266.html

Pretpostavljam da podatke iz baze dobijaš preko
Code:
InputStream is = rs.getBinaryStream("BLOBColumnName");


Code:
public String convertStreamToString(InputStream is) {
        /*
         * To convert the InputStream to String we use the BufferedReader.readLine()
         * method. We iterate until the BufferedReader return null which means
         * there's no more data to read. Each line will appended to a StringBuilder
         * and returned as String.
         */
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();
 
        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
 
        return sb.toString();
    }
}