Announcement

Collapse
No announcement yet.

Dynamic SQL Error - analysieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dynamic SQL Error - analysieren

    Hallo,

    ich erhalte in meiner Anwendung gelegentlich den EIBInterBaseError 'Dynamic SQL Error SQL Code = -303
    arithmetic exception, numeric overflow, or string truncation

    Dummerweise gibts keinen näheren Anhaltspunkt und da der Fehler nur sporadisch auftritt macht eine analyse auch keinen grossen Spass.

    -----------------------------------------------------------------------------
    IBDataSetDaten->Insert();
    IBDataSetDaten->FieldByName("DATUM")->AsString = Now().DateString();
    IBDataSetDaten->FieldByName("ZEIT")->AsString = Now().TimeString();
    ...// viele Zeilen später...
    IBDataSetDaten->Post();
    IBTransaction1->CommitRetaining();
    ----------------------------------------------------------------------------
    Der Fehler tritt beim Post auf.

    Gibts eine Möglichkeit vor dem Post evtl. den fehlerhaften SQL String
    auszugeben? Oder wie sonst kann ich das Problem analysieren?

    HILFE BITTE

  • #2
    Du koenntest deine Daten z.B einem AnsiString zuweisen:
    z.B:

    asInfo = "Datum: " + IBDataSetDaten->FieldByName("DATUM")->AsString ;
    asInfo = asInfo+" Zeit: " + IBDataSetDaten->FieldByName("ZEIT")->AsString ;
    ....
    weiter fuer alle Daten.

    ggf auch die SQL


    mit:
    try{
    IBDataSetDaten->Post();
    ...
    }
    catch()
    {
    asInfo in Datei Schreiben.
    }

    wird im Fehlerfall Protokolliert bei welchen Daten der Fehler auftritt.

    Comment

    Working...
    X