Announcement

Collapse
No announcement yet.

Probleme wegen NAN Wert im Feld

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

  • Probleme wegen NAN Wert im Feld

    Hallo alle zusammen,

    ich habe ein kleines (großes) Problem und weiß einfach nicht wie es zu lösen wäre:

    In einigen Feldern meiner DB (ADS 10.1) haben sich irgendwie NaN Werte eingeschlichen, also "Not a Number".

    Ich habe es geschafft die fehlerhaften Felder zu Identifizieren (mit isNaN), aber wie bekomme ich die Werte wieder korrigiert oder gelöscht?

    Überschreiben -> funktioniert nicht (Exception Ungültige Gleitkommaoperation)
    Clear -> funktioniert nicht (Exception Ungültige Gleitkommaoperation)

    Hat jemand vielleicht einen heissen Tip??

    Vielen Dank im Voraus
    Jens
    Jens

  • #2
    Hallo Jens,

    handelt es sich um eine ADT-Tabelle?
    Gehört die Tabelle zu einem Data Dictionary?
    Hast Du schon probiert, den Wert mit dem Data Architekten zu löschen?

    Uli

    Comment


    • #3
      Hallo Uli,

      Ja es ist eine ADT-Tabelle und die ist im Dictionary eingebunden.
      Löschen dieser Werte mit ARC ist mir auch nicht gelungen.
      Jens

      Comment


      • #4
        Hallo Jens,

        folgendes habe ich rausgefunden:
        Invalid Floating Point Values are Prevented from being Stored

        Note: This change is in v10.0.0.3. The handling of floating point values has been changed to detect when attempts are made to store invalid IEEE 8-byte double values. If an attempt is made to store an invalid double (e.g., NaN), either through the Advantage Client Engine API or through SQL, a 5101 (AE_INVALID_VALUE) error will be returned. This change does not affect existing values stored in tables.
        Es wundert mich, dass Du den falschen Wert nicht mit dem Data Architecten löschen kannst. Kannst Du die genaue Fehlermeldung, die der Data Architect zurückgibt, posten?

        Uli

        P.S. Als Ideen hätte ich noch:
        Referentielle Integritäten oder Trigger, die das Löschen verhindern

        Comment


        • #5
          Hallo Uli,

          beim löschen des Wertes mit ARC kommt: EInvalidOp -> Invalid floating point Operation
          Habe keine Trigger und keine Referentielle Integrität.

          Ich glaube fast ich muss den ganzen Datensatz löschen, und das wäre Obersch...
          Jens

          Comment


          • #6
            Da kommt mir noch die Idee, ob bei dem Feld die Eigenschaft NULL Valid auf FALSE steht?

            Und es kommt keine Fehlernummer?

            Comment


            • #7
              NULL Valid steht auf YES
              Es kommt keine Fehler, da i ARC ja MadExcept impleziert ist.
              Habe mir auch ein extra Testproject angelegt und da kommt auch keine Fehlernummer.
              Jens

              Comment


              • #8
                Ich habe heute keine Zeit mehr, melde mich morgen wieder.
                Uli

                Comment


                • #9
                  Hallo Uli,

                  ich DANKE Dir auf jedenfall schon, dass Du darüber nachgedacht hast
                  schönen Tag noch.
                  Jens
                  Jens

                  Comment


                  • #10
                    Habe wieder etwas neues rausgefunden.

                    Ich kann nicht einmal mit dem ARC den kompletten Datensatz löschen .
                    Alllemöglichen ADSSet.... usw. ausprobiert -> Geht alles nicht

                    Vielleicht hat ja der Herr Dürr eine Lösung????
                    Jens

                    Comment


                    • #11
                      Hallo Jens,

                      ich vermute, dass es irgendeine Bedingung gibt, die es verbietet, dass Du den Datensatz löschst.
                      Ich weiß nicht, was das von Dir erwähnte MadExcept ist. Bei mir kommt z.B. die folgende Fehlermeldung beim Data Architecten:

                      BrowseTable: Error 5147: Constraint violation while updating column "FremdLager". The column cannot be updated to a NULL value due to a 'not NULL' constraint.

                      So etwas hätte ich auch bei Dir erwartet. Vielleicht kannst Du ein Bild vom ARC-Fenster hier veröffentlichen? Vielleicht kann man daran etwas erkennen.

                      Uli

                      P.S.
                      Die Rechte, die Tabelle zu ändern, hat der von Dir benutzte User?
                      Nicht das nachher nur Lesezugriff erlaubt ist ;-)

                      Comment


                      • #12
                        Hallo Uli,

                        madexcept ist soetwas wie Eurekalog (Fehlerbehandlung)
                        Hier mal der Screenshot vom ARC, nachdem ich den NaN Wert versuche zu ändern


                        Die Rechte zum Ändern habe ich (ADSSYS), da ich die Benutzerverwaltung nicht nutze.
                        Habe auch schon ältere ADS Versionen probiert. So langsam weiß ich nicht mehr weiter
                        Selbst beim Reindex schmiert mir der ARC ab
                        Jens

                        Comment


                        • #13
                          Jetzt Hab ich´s

                          Das eine Feld war Indeziert!

                          Also Index löschen, Feldwert Ändern, Index Neu Erstellen -> Alles wieder Gut
                          Jens

                          Comment

                          Working...
                          X