Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Java + Oracle: Datums- und Float-Format ändern

  Alt 5. Aug 2009, 11:22
Hallo zusammen,

ich sitze gerade an einem Java-Projekt, das auf eine Oracle-Datenbank zugreift und Daten in eine CSV-Datei exportieren soll. (Das Projekt hat jemand anderes geschrieben und dieser jemand arbeitet hier nicht mehr, d.h. ich weiß auch nicht so genau warum manche Dinge jetzt gerade so gemacht wurden.)
Dazu wird ein XQuery-Objekt aus dem com.borland.jbuilder.xml.database-Namespace verwendet. Das funktioniert auch soweit. Das Problem ist nur, dass das Format von Datums- und Fließkommawerten der amerikanischen Notation entspricht, d.h. ein Datum kommt im Format YYYY-MM-DD heraus und die Fließkommazahlen haben einen Punkt als Dezimalzeichen. Da der Kunde die Excel-/CSV-Datei aber gerne direkt weiterverwenden möchte, muss ich die Formate irgendwie umbiegen.
Ich habe gelesen, dass ich mit
SQL-Code:
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.'
ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YY'
das Format ändern kann. Allerdings bringt
Code:
    java.sql.Statement nls = DBDermatitis.createStatement();
    try {
      nls.executeUpdate("ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.'");
      nls.executeUpdate("ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YY'");
    } catch (java.sql.SQLException ex) { System.out.println(ex.getMessage()); return false; }
keine Veränderung.

Ich das Ausführen von
Code:
set NLS_LANG=GERMAN.GERMANY.WE8ISO8859P1
set NLS_NUMERIC_CHARACTERS=,.
in einer Batch-Datei vor dem Starten des Java-Programms hat nicht geholfen.

Hat jemand eine Lösung dafür?

Viele Grüße
Christopher
  Mit Zitat antworten Zitat