so ändern Sie die oracle Standard-timestamp-format
Mittels alter session set nur NLS_TIMESTAMP_FORMAT oder NLS_TIMESTAMP_TZ_FORMAT für die aktuelle Sitzung.
Es nicht ändern der Standard-Datenbank-Eigenschaften.
Den oracle 10g-Gebietsschema installiert auf meinem Computer auf Chinesisch. Und das timestamp-format ist chinesischen spezifische.
Muss ich das US-format(YYYY-MM-DD HH:MI:SS).
Jede Lösung?
Dies ist ein client Einstellungen auf jedem client-Anwendung kann ein anderes format. Sie sollten spezifischer sein und sagen Sie uns, welche den client/die app, die Sie verwenden (wie pro Ihre Letzte Frage scheint es zu sein, jdbc/hibernate)
xiaohan2012, konnte Sie klären Sie Ihre Frage ein wenig bitte? Sind Sie versuchen, zu ändern die NLS-Einstellungen für den server, für Ihren client-PC, oder für alle client-PC ' s? Alle anderen Informationen wäre auch praktisch.
Hi, Vincent und Olli, mein Fall ist so: ich bin mit hibernate als Persistenz-Schicht und Oracle als zugrunde liegende Datenbank. Und ich habe oracle installiert 10203 auf meinem win7. Die Einstellung des Gebietsschemas oracle ist Chinesisch, kann dadurch ein timestamp-format zu Chinesisch. Und die Chinesen timestamp ist das problem. Wenn ich den Ruhezustand zum abrufen eines Datensatzes aus oracle, die timestamp-Eigenschaft einer Entität wird in der chinesischen form(wegen der locale-Einstellung in Oracle, glaube ich). @Vincent Malgrat
xiaohan2012, hier ist ein link mit info, hibernate, Oracle Datum Themen: forum.hibernate.org/viewtopic.php?p=2407493, aber, wenn Ihre Datenbank lokal auf Ihrem PC und dann können Sie über die links aus meiner Antwort können Sie ändern Sie die Datenbank-Parameter und/oder auch Ihre Kunden-NLS-Einstellungen. ich kann mir nicht helfen mehr mit Ruhezustand, als ich weiß nicht viel über Sie.
haben Sie versucht
xiaohan2012, konnte Sie klären Sie Ihre Frage ein wenig bitte? Sind Sie versuchen, zu ändern die NLS-Einstellungen für den server, für Ihren client-PC, oder für alle client-PC ' s? Alle anderen Informationen wäre auch praktisch.
Hi, Vincent und Olli, mein Fall ist so: ich bin mit hibernate als Persistenz-Schicht und Oracle als zugrunde liegende Datenbank. Und ich habe oracle installiert 10203 auf meinem win7. Die Einstellung des Gebietsschemas oracle ist Chinesisch, kann dadurch ein timestamp-format zu Chinesisch. Und die Chinesen timestamp ist das problem. Wenn ich den Ruhezustand zum abrufen eines Datensatzes aus oracle, die timestamp-Eigenschaft einer Entität wird in der chinesischen form(wegen der locale-Einstellung in Oracle, glaube ich). @Vincent Malgrat
xiaohan2012, hier ist ein link mit info, hibernate, Oracle Datum Themen: forum.hibernate.org/viewtopic.php?p=2407493, aber, wenn Ihre Datenbank lokal auf Ihrem PC und dann können Sie über die links aus meiner Antwort können Sie ändern Sie die Datenbank-Parameter und/oder auch Ihre Kunden-NLS-Einstellungen. ich kann mir nicht helfen mehr mit Ruhezustand, als ich weiß nicht viel über Sie.
haben Sie versucht
Locale.setDefault(Locale.ENGLISH)
je vorgeschlagen (NLS_LANG-Einstellung für JDBC-thin-Treiber?)?InformationsquelleAutor xiaohan2012 | 2011-08-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Oracle-Dokumentation:
Können Sie den Wert angeben, der NLS_TIMESTAMP_FORMAT, indem Sie Sie in der Initialisierung parameter-Datei. Sie können angeben, wird der Wert für einen Kunden als client-Umgebungsvariable.
Können Sie auch ändern Sie den Wert für NLS_TIMESTAMP_FORMAT, indem Sie seinen Wert in der Initialisierung der parameter und dann einen Neustart der Instanz. Um die Werte zu verändern, die während einer Sitzung verwenden Sie die ALTER SESSION SET-Anweisung.
NLS_TIMESTAMP_FORMAT
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams132.htm
und für NLS_TIMESTAMP_TZ_FORMAT:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams133.htm
Müssen Sie ändern Sie den Instanz - Parameter und hüpfen die Datenbank.
Vincent, Sie sind korrekt, aber in dem link (und in meiner Antwort), es wird erwähnt, dass für den client können Sie secify die NLS_TIMESTAMP_X als client-Umgebungsvariable.
Deine Antwort ist technisch korrekt, aber ich glaube nicht, dass es zu lösen, wird die OP ' s problem 🙂 +1 wenn
Ich denke, ich hätte vielleicht eine andere interpretation des OP ' s Frage. Ich füge einen Kommentar bat Sie zu klären. Hoffentlich dann können wir Sie erhalten eine klare Antwort.
InformationsquelleAutor Ollie
Doh, hatte 2 tabs offen und legen diese in den falschen thread...
Setzen der Voreinstellung dauerhaft in der db, aus der Datenbank:-
dann als SYS (so müssen Sie möglicherweise zu sprechen, um eine DBA), und natürlich zu einem geeigneten Zeitpunkt! -
(Ich weiß, das spfile erwähnt wurde, aber es kann alles getan werden, von der sqlplus cmdline, zumindest in 11g.)
InformationsquelleAutor Cloink