Hallo Java-Forum,
ich habe eine kleine Frage zur Serialisierung. Und zwar schicke ich einen String mit einer SQL-Abfrage an einen Datenbankserver. Auf dem Server läuft ein Programm, das diese Anfragen annimmt, für jede Anfrage einen Thread aufmacht und das Resultat zurück zum Client-Rechner schickt.
Nun habe ich mir überlegt, daß ich den kompletten ResultSet zum Client zurückschicke und mit diesem dann dort weiterarbeite, metadaten auslesen um Tabellen anzupassen etc.
So weit, so gut, hier ist das Problem:
Das ResultSet läßt sich nicht serialisieren. Habe den selben Code mal mit einem Vector ausprobiert, hat anstandlos geklappt. Hat jemand eine Idee?
edit
Habe noch mal einen String serialisiert vom Client zum Server und von dort wieder zum Client geschickt. Klappt tadellos. Habe jetzt auch rausgefunden, das man ResultSets nicht serialisieren kann. Ich weiß zwar immer noch nicht warum, aber es geht nicht.
ich habe eine kleine Frage zur Serialisierung. Und zwar schicke ich einen String mit einer SQL-Abfrage an einen Datenbankserver. Auf dem Server läuft ein Programm, das diese Anfragen annimmt, für jede Anfrage einen Thread aufmacht und das Resultat zurück zum Client-Rechner schickt.
Nun habe ich mir überlegt, daß ich den kompletten ResultSet zum Client zurückschicke und mit diesem dann dort weiterarbeite, metadaten auslesen um Tabellen anzupassen etc.
So weit, so gut, hier ist das Problem:
Code:
OutputStream os = client.getOutputStream();
ObjectOutput oo = new ObjectOutputStream(os);
oo.writeObject(query);
oo.flush();
InputStream is = client.getInputStream();
ObjectInput oi = new ObjectInputStream(is);
// Hier bleibt das Programm hängen
ResultSet rs = (ResultSet) oi.readObject();
Das ResultSet läßt sich nicht serialisieren. Habe den selben Code mal mit einem Vector ausprobiert, hat anstandlos geklappt. Hat jemand eine Idee?
edit
Habe noch mal einen String serialisiert vom Client zum Server und von dort wieder zum Client geschickt. Klappt tadellos. Habe jetzt auch rausgefunden, das man ResultSets nicht serialisieren kann. Ich weiß zwar immer noch nicht warum, aber es geht nicht.