[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    327

    SQL Fehler SQL0181 in JT400 Toolbox for Java mit Datum 31.12.9999

    Hallo Zusammen,
    für SQL Analysen und Test haben wir DbVisualizer im Einsatz. Für den Zugriff auf die AS/400 habe ich den JT400 JDBC Treiber (JT400.JAR) im Einsatz.
    Nun haben wir Tabellen, wo das Datum 31.12.9999 steht (bedeutet in der Anwendung unknown). Dies setzt mir das Tool mit NULL um. Der NULL Indicator sitzt definitiv nicht.
    Im debug mode habe ich gesehen, dass im result set der SQL0181 Fehler kommt.

    Posting warning, id: 1 error class: 1 return code: 181 reason: [SQL0181] Value in date, time, or timestamp string not valid. state: 01534.java.sql.SQLWarning: [SQL0181] Value in date, time, or timestamp string not valid.

    Wenn ich das gleiche SQL mi iAccess aufrufe (RUN SQL scripts), dann wird 31.12.9999 sauber angezeigt. Hier wird vermutlich ein anderer Treiber genutzt.

    Gibt es noch einen alternativen JDBC Treiber oder kann man den JT400 modifizieren? In den Einstellungen von DbVisualizer geht es leider nicht.

    Danke.
    Gruß Klaus

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Datumformat des JDBC-Treiberst steht defaultmäßig wohl nicht auf ISO sondern ggf. auf TT.MM.JJ und für das 2-stellige Jahr ist 9999 eben zu groß und: das Datum wird ggf. als String übergeben, denn als SQL-Date dürfte das Problem nicht bestehen.
    Da kann man mal sehen, wie wichtig das Datumformat für SQL nun doch ist.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Sep 2004
    Beiträge
    327
    Moin,
    andere ISO Datums, wie 21.07.2017 werden korrekt angezeigt, nur eben 31.12.9999 nicht.
    Wie kann man überprüfen, wie das JDBC Treiberset konfiguriert ist, bzw. wie kann man es dann auch ändern?
    Alternativ, welches Treiberset könnte man noch nehmen?
    Danke.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Es ligt nicht am Treiberset sondern am ConnectionString.
    Hier kann man Defaults überschreiben. Da musst du mal in die Doku schauen was man da einstellen kann. Häufig wird hier ein Datum als Typ String und nicht als Typ Date übergeben.
    Dass dann die Darstellung in Java mit .2017 korrekt ist liegt daran, dass beim Reader.GetDate() ja in ein Date umgewandelt wird und auch hier gilt, dass zwischen hier mit einer Range (ich weiß im Moment nicht welche) zwischen 1900 und 2000 unterschieden wird (wie bei AS/400 mit <=39=20, >=40=19).
    Versuche da mal ein Datum .2101.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Sep 2004
    Beiträge
    327
    Super, das war es. Der Connectionstring für date war leer. Habe es auf iso geändert und schon hat es funktioniert. Vielen Dank für die Hilfe.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ich würde trotzdem mal schauen, dass man Date auch als SQLDate und nicht SQLString erhält.
    Allerdings kann ich da keinen Hinweis finden, das scheint es nur bei OLEDB zu geben.
    https://www.ibm.com/support/knowledg...ies.html#other
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Tomcat 8.5.3 und jt400 (Version 9.1)
    By KM in forum NEWSboard Java
    Antworten: 2
    Letzter Beitrag: 20-01-17, 08:40
  2. Frage zu JT400 und "in-service release"
    By alex.kretschmer in forum NEWSboard Java
    Antworten: 3
    Letzter Beitrag: 08-07-16, 10:20
  3. SQL Datum
    By dholtmann in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 03-05-16, 10:35
  4. Fehler Java QSH JVAB546 QSH0007
    By posthenn in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 09-01-16, 16:46
  5. Antworten: 7
    Letzter Beitrag: 23-03-15, 18:21

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •