AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Lokalisierungsproblem? bei TO_CHAR-Fkt.
Thema durchsuchen
Ansicht
Themen-Optionen

Lokalisierungsproblem? bei TO_CHAR-Fkt.

Ein Thema von Jumpy · begonnen am 20. Jun 2012 · letzter Beitrag vom 21. Jun 2012
Antwort Antwort
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: Lokalisierungsproblem? bei TO_CHAR-Fkt.

  Alt 20. Jun 2012, 10:11
Erzwingen kann man es zur Laufzeit, also innerhalb der Anwendung durch Absetzen von:
Code:
alter session set NLS_DATE_FORMAT = 'dd.mm.yyyy';
usw.

Wenn die Connection in der Anwendung geschlossen und geöffnet wird, muss man es wiederholen.
Wie gesagt, die NLS Settings können auf 3 Ebenen gesetzt werden. Server, Client[installation] (also Registry unter windows) und Session. Letzte Instanz ist die Session, die ist allerdings flüchtig. Alles was fehlt oder nicht angegeben ist, wird ausgehend von den Serversettings verwendet.

Das Displayformat im Client hilft bei der to_Char Funktion nicht, da es sich innerhalb von Oracle abspielt.

Nachtrag:
Die NLS Settings definieren alle sprachabhängigen Darstellungen, länderspezifisch. Wird auch (bei anderen Anbietern) als locale settings o.ä bezeichnet. Das hat mit dem OS überhaupt nichts zu tun, es ist komplett unabhängig, allerdings nimmt der Installer die Einstellungen des Wirtsystems als Vorgabe. Eine Installation des Servers auf einem deutschen Windows ergibt also andere NLS Settings als auf englischen Servern, ebenso beim Client.
Man kann es aber alles verstellen.
Gruß, Jo

Geändert von jobo (20. Jun 2012 um 10:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#2

AW: Lokalisierungsproblem? bei TO_CHAR-Fkt.

  Alt 20. Jun 2012, 10:12
Falls ich das richtig verstanden habe, wird das TO_CHAR ja nur verwendet, um ein bestimmtes Ausgabeformat zu erreichen. Wenn man das aber clientseitig macht, kann man sich das sparen und einfach den Originalwert abfragen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Lokalisierungsproblem? bei TO_CHAR-Fkt.

  Alt 20. Jun 2012, 10:27
Klar, wenn man auf das to_char verzichtet, kann man es im Client erledigen. Das ist eine Geschmacksfrage oder abhängig vom Anwendungsfall.
Es schadet aber auch nicht, zu wissen, was die NLS Settings sind. Sie kommen z.B. bei jeder impliziten Typkonvertierung von Zahlen und Datumswerten ins Spiel und können böse weh tun, wenn man ihr Verhalten bzw. unterschiedliche client setups ignoriert.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#4

AW: Lokalisierungsproblem? bei TO_CHAR-Fkt.

  Alt 20. Jun 2012, 10:30
Es schadet aber auch nicht, zu wissen, was die NLS Settings sind.
Ich habe ja auch nirgends das Gegenteil behauptet
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Lokalisierungsproblem? bei TO_CHAR-Fkt.

  Alt 20. Jun 2012, 10:38
Ich hab ja auch nirgends behauptet, dass Du behauptet hast, dass ..

Der Anfang eine rekursiven Diskussion.

Also ernst, NLS Settings oder Lokalisierung von DB und Clients allgemein, kann in der Bedeutung sehr leicht unterschätzt werden. Meine Betonung dieses Problems galt nicht Dir, sondern schlicht allen Datenbankentwicklern auf der Welt.
Gruß, Jo
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Lokalisierungsproblem? bei TO_CHAR-Fkt.

  Alt 20. Jun 2012, 13:21
Clientseitig ist da nix zu machen, weil das eine Verarbeitung ist, die große SQl-Statements jeweils aus einer Datei lädt an die DB schickt. Da werden auf Selects basierend neue Tabellen erstellt, worauf dann spätere SQL-Statements zugreifen und Selects erzeugen, die dann letztlich zurückgeliefert werden und die dann direkt von der Query in eine CSV geschrieben werden. Es ist daher nicht bekannt, welche Felder es gibt und welche Felder ggf. in dem Format kommen, das bearbeitet werden müsste. Daher ist clientseitig in der Anwendung da nichts machbar.

Problem ist ja prinzipiel gelöst, nachdem die NLS Settings in der Registry angepasst wurden. Ist aber für mich eine Lehre gewesen, so dass meine zukünftigen ähnlichen Verarbeitungen zunächst die Settings checken und dann Meldung machen, falls diese falsch sind. Mit jobo's Tip kann die Verarbeitung aber dann trotzdem mit temporären Settings weitermachen, bis mal einer dazukommt, den entsprechenden Rechner richtig einzustellen.

Nur aus Neugier aber immer noch die Frage:
Gibt's ein eleganteres Konstrukt zur Erzwingung von Nachkommastellen. Was ich so gegoogelt habe muss immer irgendwie eine konvertierung in einen "String" stattfinden durch sowas wie Format und das ist ja in Oracle To_Char. Die Cast-Funktion tut's da (in Oracle) auch nicht, in anderen DB's soll's da mehr Möglichkeiten geben.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz