# Problem beim schreiben von daten



## Turael (12. Apr 2011)

Ahoi leute
bin grad ein wenig am rum probieren wie serialisierungen mit objekten funktioniert...
mein code um in die DB zu schreiben sieht wie folgt aus:

```
conn=asc.getCon();/// get connection string;
        PreparedStatement ps =null;
        String sql=null;

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(bos);

        oos.writeObject(javaObject);

        byte[] data = bos.toByteArray();
        oos.flush();
        oos.close();
        bos.close();
        System.out.println(data.length); // länge 77
        
        sql="INSERT INTO java_objects VALUES(id=?,javaObject = ?)";
        ps=conn.prepareStatement(sql);
        ps.setInt(1,0);
        ps.setObject(2,data);
        ps.execute();
```

ich versuche einen byte array mit 77elementen in die db zu schreiben (die javaObject spalte ist ein longblob) aber er speichert wohl immer nur 1byte in der DB ... 
wäre supi wenn mir jemand sagen könnte wo mein fehler liegt
gruß Turael


----------



## Marcinek (13. Apr 2011)

Vieleicht hilft das:

http://www.java-forum.org/datenbankprogrammierung/86312-objekte-datenbank-speichern.html


----------



## r.w. (13. Apr 2011)

Hallo Turael,


```
...
        byte[] data = bos.toByteArray();  // <--
        oos.flush();
        oos.close();
        bos.close();
        System.out.println(data.length); // länge 77
        
        sql="INSERT INTO java_objects VALUES(id=?,javaObject = ?)";
        ps=conn.prepareStatement(sql);
        ps.setInt(1,0);

        // ps.setObject(2,data); // <--
        ps.setBytes(2,data);     // <--

        ps.execute();
```

für ByteArrays sollte eigentlich ps.setBytes(2,data) besser geeignet sein.

VG ROlf


----------



## Turael (13. Apr 2011)

@Marcinek: den link habe ich auch schon studiert dennoch keine lösung gefunden...
@ROlf: auch mit der umstellung von setObject auf setBytes ging es nicht =/

bin langsam am verzweifeln ein lehrer von mir meinte auch das er keinen fehler in der methode finden kann =/


----------



## Turael (27. Apr 2011)

nach langer zeit konnte ichs nun lösen woran es an meiner lösung lag weiss ich leider immer noch nicht =/

Hier das script welches ich mir als vorlage benutze


naja trozdem danke für eure hilfe 
gruß turael


----------

