ORA-01830: Datum format Bild endet vor der Konvertierung gesamten Eingabe-string in KRÖTE
Ich habe ein script, in dem ich Schreibe, Funktionen und Prozeduren. Das script funktioniert absolut in Ordnung in einem Oracle SQL-developer ohne Fehler oder Warnungen. Dieses Skript habe ich zu bieten, um eine client-side-Kunden. Der Kunden-Benutzer läuft das gleiche Skript in TOAD
und er bekommt die Fehlermeldung
ORA-01830: date format picture ends before converting entire input string
In dieser situation, ich weiß wirklich nicht, wie solche Fehler. Ist das ein bug in TOAD
?
Ich benutze to_date
und to_timestamp
in meine Funktionen und dort bekomme ich eine Fehlermeldung.
Es würde helfen, zu zeigen Sie Ihren code. Aber du bist angewiesen auf NLS_DATE_FORMAT irgendwo, und dass unterschiedliche Werte in den beiden clients die Ursache für das unterschiedliche Verhalten. Verlassen Sie sich nie auf Sie, verwenden Sie immer explizite format-Masken...
Danke Alex für deine Antwort. Meine Funktion code ist sehr groß thts, warum ich nicht erwähnt habe, mein code, und ich verwendet, to_date und to_timestamp in meinem Funktionen dort, wo ich bin, die das Problem verursacht. Ich verstehe nicht, Ihre Stelle die explizite format maska bedeutet ? Und ja, ich Wechsel die NLS_DATE_FORMAT Einstellungen in meiner sql-Entwickler zu bekommen, das timestamp-Wert. Aber wie löst man dieses Problem im TODE ?
Ändern Sie nicht die NLS_DATE_FORMAT in Ihre Kunden; nicht auf Sie verlassen, übergeben Sie den gleichen Wert eingestellt (z.B.
Vielen Dank Alex, ich werde überprüfen die Dokumentation und versuchen, dieses Problem zu lösen.
Danke Alex für deine Antwort. Meine Funktion code ist sehr groß thts, warum ich nicht erwähnt habe, mein code, und ich verwendet, to_date und to_timestamp in meinem Funktionen dort, wo ich bin, die das Problem verursacht. Ich verstehe nicht, Ihre Stelle die explizite format maska bedeutet ? Und ja, ich Wechsel die NLS_DATE_FORMAT Einstellungen in meiner sql-Entwickler zu bekommen, das timestamp-Wert. Aber wie löst man dieses Problem im TODE ?
Ändern Sie nicht die NLS_DATE_FORMAT in Ihre Kunden; nicht auf Sie verlassen, übergeben Sie den gleichen Wert eingestellt (z.B.
'DD/MM/YYYY HH24:MI:SS'
) to_date()
als zweites argument; der fmt gezeigt werden in der Dokumentation.Vielen Dank Alex, ich werde überprüfen die Dokumentation und versuchen, dieses Problem zu lösen.
InformationsquelleAutor Namrata | 2015-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie entweder sich auf das implizite Datum Konvertierungen bzw. implizite format-Modelle, da Sie sagte, Sie sind mit
to_date
undto_timestamp
scheint es letzteres sein. Sie haben nicht gezeigt Ihr code, aber der Fehler bedeutet, Sie sind ruft die Funktionen mit einem string-Wert im format, die Sie erwarten, zu sehen, aber nicht explizit die Bereitstellung der format-Modell als zweites argument an die Funktion. Das wird zu der Sitzung NLS_DATE_FORMAT Einstellung verwendet werden. Wenn Sie das tun:dann sind Sie wirklich effektiv zu tun:
Können Sie Steuern, wie Ihre Kunden Ihre NLS-Umgebung konfiguriert ist, und so sollten Sie nie verlassen sich auf implizite Konvertierungen oder NLS Annahmen.
Da sagt in der Dokumentation:
Können Sie sehen, wie sich dies auf eine einfache Abfrage mit diesem:
Aus dem gleichen Grund sollten Sie es vermeiden, Monat Namen wie Ihre interpretation hängt von der NLS_DATE_LANGUAGE; aber Sie können zumindest überschreiben, die auf query-Ebene, wenn Sie wirklich müssen.
Vielleicht wollen Sie auch zu prüfen, date-und timestamp-Literale, wenn Sie arbeiten mit festen Werten:
aber wenn Sie den Bau der string zu konvertieren zu einem Zeitpunkt, der nicht passend ist.
InformationsquelleAutor Alex Poole