R
Rock Lobster
Gast
Hallo,
ich lese eine Datenbank aus, um die Daten in einem XML-File zu speichern und sie später wieder importieren zu können.
Allerdings habe ich Probleme bei Datums-Werten. Und zwar bekomme ich laut ResultSetMetaData den Typ oracle.sql.TIMESTAMP, aber wenn ich dann vom ResultSet getString() aufrufe, bekomme ich einen Datums-String, der nicht korrekt formatiert ist - mit dem Effekt, daß ich keinen neuen oracle.sql.TIMESTAMP damit instanzieren kann (also wenn ich versuche, den String dem Konstruktor zu übergeben).
Hier ein Beispiel für den String, den ich bekomme:
Ich kann zwar irgendwie rauslesen, daß es sich um den 2006-12-19 handelt und die Uhrzeit 16:29 und 8,144 Sekunden ist, aber der konstruktor vom TIMESTAMP erwartet folgendes Format:
Naja, jetzt ist halt die Frage, warum liefert das ResultSet einen String in einem äußerst unglücklichen Format, das ich später nicht wieder weiterverwenden kann?
Als Lösung fällt mir ein, entweder den Typ abzufragen und dementsprechend zu handeln (z.B. ein Date davon getten statt einem String, oder direkt den Long des Timestamps zu getten), aber das würde ich gerne nur als Notlösung in Erwägung ziehen. Mir wäre es lieber, ich würde das auf "sauberem" Wege kriegen, und eigentlich müßte der String mir doch das korrekte Format liefern.
Weiß jemand, an was das liegt? Und gibt es vielleicht eine bessere Lösung, als die von mir vorgeschlagene?
ich lese eine Datenbank aus, um die Daten in einem XML-File zu speichern und sie später wieder importieren zu können.
Allerdings habe ich Probleme bei Datums-Werten. Und zwar bekomme ich laut ResultSetMetaData den Typ oracle.sql.TIMESTAMP, aber wenn ich dann vom ResultSet getString() aufrufe, bekomme ich einen Datums-String, der nicht korrekt formatiert ist - mit dem Effekt, daß ich keinen neuen oracle.sql.TIMESTAMP damit instanzieren kann (also wenn ich versuche, den String dem Konstruktor zu übergeben).
Hier ein Beispiel für den String, den ich bekomme:
Code:
2006-12-19.16.29. 8. 144000000
Ich kann zwar irgendwie rauslesen, daß es sich um den 2006-12-19 handelt und die Uhrzeit 16:29 und 8,144 Sekunden ist, aber der konstruktor vom TIMESTAMP erwartet folgendes Format:
Code:
Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
Naja, jetzt ist halt die Frage, warum liefert das ResultSet einen String in einem äußerst unglücklichen Format, das ich später nicht wieder weiterverwenden kann?
Als Lösung fällt mir ein, entweder den Typ abzufragen und dementsprechend zu handeln (z.B. ein Date davon getten statt einem String, oder direkt den Long des Timestamps zu getten), aber das würde ich gerne nur als Notlösung in Erwägung ziehen. Mir wäre es lieber, ich würde das auf "sauberem" Wege kriegen, und eigentlich müßte der String mir doch das korrekte Format liefern.
Weiß jemand, an was das liegt? Und gibt es vielleicht eine bessere Lösung, als die von mir vorgeschlagene?