[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2005
    Beiträge
    10

    Fehler in DB, aber Wo?

    Hallo ihr lieben,

    ich habe ein bis jetzt noch großes Problem.

    Also:

    Ich habe eine Datei mit 32Mio. Datensätzen. Dort sind felder wie z.B Zeit , Objektnummer usw. dargestellt.

    Nun ist es so, das ich mit einem Query auf die Datei eine Abfrage erstelle. In diesem Query wird das Objektjahr auf 2009 beschränkt, was den Fehler schonmal ein bischen eindimmt.

    Und wenn ich die Spalte "Zeit" herrausnehme geht auch alles wunderbar. ABER sobald ich die Spalte "Zeit" wieder in meine Abfrage einbaue, stürzt die Abfrage ab.

    Meine Frage ist nun diese.

    Wie kann ich mir den Datensatz anzeigen lassen wo der Fehler in der Spalte Zeit ist. Weil jede Abfrage die ich erstelle natürlich fehl schlägt solange der Fehler dort ist und ich die Spalte Zeit in meinen Abfragen einbaue.

    Gibt es da einen Trick?

    Vielen Dank schonmal im Vorraus.

    MfG

    T.Nienhaus

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... wieder eins von diesen Puzzles, bei mir haben Felder einen Typ und wenn Programme abstürzen machen die bei mir Fehlermeldungen...

    lass mich raten: Zeitfelder und falsches Datumsformat im Job, oder wie wärs mit Nullvalues?

    D*B

    Zitat Zitat von Nienhaus Beitrag anzeigen
    Hallo ihr lieben,

    ich habe ein bis jetzt noch großes Problem.

    Also:

    Ich habe eine Datei mit 32Mio. Datensätzen. Dort sind felder wie z.B Zeit , Objektnummer usw. dargestellt.

    Nun ist es so, das ich mit einem Query auf die Datei eine Abfrage erstelle. In diesem Query wird das Objektjahr auf 2009 beschränkt, was den Fehler schonmal ein bischen eindimmt.

    Und wenn ich die Spalte "Zeit" herrausnehme geht auch alles wunderbar. ABER sobald ich die Spalte "Zeit" wieder in meine Abfrage einbaue, stürzt die Abfrage ab.

    Meine Frage ist nun diese.

    Wie kann ich mir den Datensatz anzeigen lassen wo der Fehler in der Spalte Zeit ist. Weil jede Abfrage die ich erstelle natürlich fehl schlägt solange der Fehler dort ist und ich die Spalte Zeit in meinen Abfragen einbaue.

    Gibt es da einen Trick?

    Vielen Dank schonmal im Vorraus.

    MfG

    T.Nienhaus
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich nehme an die Zeit ist ein numerisches Feld und die Datei wurde mit DDS erstellt.

    Du kannst folgendes versuchen:
    Erstelle eine Tabelle mit SQL, in der der eindeutige Schlüssel (sofern einer vorhanden) der ersten Datei und eine Spalte in die die relative Satz-Nr. aus der 1. Datei übernommen wird und eine Spalte mit der numerischen Zeit.

    Dann versuche mittels Insert die Sätze aus der 1. Datei zu übernehmen. Sobald der 1. fehlerhafte Satz übernommen werden soll, bricht der Insert ab, da in SQL Tabellen keine ungültigen numerischen Werte übernommen werden können.

    Auf diese Art und Weise könntest Du Dich vorarbeiten.

    @Dieter - SQL sind Datums- und Zeit-Formate schnurz, da bei Datums und Zeit-Werten immer der Binär-Wert verwendet wird und das Datums und Zeit-Format nur dazu verwendet wird um den Binär-Wert sichtbar zu machen.

    Bei embedded SQL tritt das Problem mit falschem Format deshalb auf, weil RPG alle Datums- und Zeitangaben nach alpha konvertiert und erst wieder beim Zurückschreiben in den Binär-Wert konvertiert.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Meistens gibts im Joblog einen Datenumsetzungsfehler unter Angabe der relativen Satz-Nr. des betroffenen Satzes.

    Ich muss Dieter da Recht geben, da Query per Default mit den Job-Datumsformat arbeitet und Werte ausserhalb der Range 1940 - 2039 meist mit '++++' anzeigt.
    Bei Dateiausgabe läuft das dann auf einen Fehler.
    Ursache ist hierfür meist der LOWVAL-Wert eines Datums 1.1.0001.
    Das Selbe Phänomen habe ich auch bei STRSQL (F13 Datumsformat).

    Reine Zeitformate sind da auch eher unkritisch, Timestamps sowieso, da dieses Format fest definiert 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

Similar Threads

  1. Os400 Fehler ?
    By Robi in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 04-11-06, 16:02
  2. Fehler: SQL0302 Umsetzungsfehler / ado
    By Asti in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 29-08-06, 13:24
  3. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  4. Datensätze in DB mittels VB einfügen
    By Toschie in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 21-06-06, 11:53
  5. ODBC Verbindungs Fehler (-7778)
    By Hubert in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-05-06, 09:41

Berechtigungen

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