-
Datumsfeld nur bis 2039 ???
Hallo,
Wir haben heute festgestellt, das ein Datumsfeld in der Datenbank Datumsangaben nur bis 2039 verarbeiten kann. Das sagt zwar auch die Dokumentation hier
http://publib.boulder.ibm.com/iserie...h2datetime.htm
Trotzdem scheint das Datum korrekt abgelegt zu werden. Habe es auf einer Maschine unter V5R2 mit dem fast neuesten PTF Stand ausprobiert. Dazu eine Tabelle angelegt, 1 Datumsfeld, und dieses einmal auf dem 01.01.2010 und den 01.01.2099 gesetzt. Der SQL-Select bringt folgendes Ergebnis
....+...
DAT1
++++++++
01.01.10
******** Datenende ********
Die ++++ Zeichen bedeuten einen Fehler im Feld. Wenn ich jedoch mit DSPPFM in die Tabelle schaue, dann sieht das schon besser aus.
Physische Teildatei anzeigen
:
*...+....1
2099-01-01
2010-01-01
****** DATENENDE ******
Das Datum wird anscheinden richtig abgelegt und nur beim Auslesen nicht sauber konvertiert.
Finde nix, wann das behoben wird. Oder kann man es umgehen ? Ich will zwar nicht mehr bis 2039 schaffen, aber trotzdem...
THX.
-
Das Datum in der Datenbank bzw. in einer Datei ist ein Binär-Wert, der immer korrekt ist. Was Du siehst (oder auch nicht siehst) ist eine alphanumerische Aufbereitung dieses Wertes.
Wenn es sich bei dem verwendeten Datums-Format um ein Format mit einer 2-stelligen Jahres-Aufbereitung handelt, siehst Du nur Werte zwischen dem 01.01.1940 und dem 31.12.2039.
Wenn Du dagegen ein Datums-Format mit einem 4-stelligen Jahr (ISO, EUR, USA, JIS) verwendest, siehst Du auch alle anderen Werte.
Wenn Du mit interaktivem SQL arbeitest (STRSQL) kannst Du das Datums-Format wie folgt verändern:
1. F13=Service
2. Auswahl 1=Sitzungs-Attribute ändern
3. Option Datums-Format (DATFMT) ändern
4. die Select-Anweisung wiederholen.
Wenn Du mit dem iSeries Navigator arbeitest, kannst Du das Datums-Format wie folgt ändern:
Verbindung --> JDBC-Setup --> Format --> Datum
Birgitta
-
Danke, das funktioniert schon mal super. Aber was ist mit einem direkten JDBC-Zugriff ? Ich finde da keine derartige Einstellung im Treiber, um zum Beispiel aus JAVA heraus ein korrektes Datum zu erhalten. Bisher kriege ich bei einem solchen Datum im Result-Set immer NULL zurück.
-
Habs schon gefunden. Im Treiber "date format=iso" mitgeben. Dann werden auch korrekte Werte zurückgeliefert.
Similar Threads
-
By edig in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 27-07-06, 08:20
-
By GAusthoff in forum NEWSboard Server & Hardware Markt
Antworten: 1
Letzter Beitrag: 17-11-05, 14:58
-
By malzusrex in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 27-04-05, 15:36
-
By rebe in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 19-01-05, 16:42
-
By synus in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 01-07-04, 21:19
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks