WS#39612 CodX PostOffice bringt die SQL Server Fehlermeldung "Arithmetischer Überlauf"

25.11.2013;Psc

Problem

CodX PostOffice bringt die SQL Server Fehlermeldung "Arithmetischer Überlauf". Dies kann zum Beispiel beim Lauf des SortTree passieren

Error:
-------------------------
Description:  Arithmetischer Überlauffehler beim Konvertieren von IDENTITY in den int-Datentyp.

Source:       Microsoft OLE DB Provider for SQL Server

Number:       0x80040E57

SQLState:     22003

Native Error: 8115



Description:  Arithmetischer Überlauf.

Source:       Microsoft OLE DB Provider for SQL Server

Number:       0x80040E57

SQLState:     01000

Native Error: 3606

Lösung

Der Primärschlüssel der Tabelle BVLinear ist vom Typ INT und geht daher maximal bis zum Wert 2'147'483'647. Aus Performancegründen wird für diesen Primärschlüssel die Identity Funktion des SQL Server verwendet. Dieser beginnt bei 1 und zählt fortlaufend hoch bis die Grenze des Datentyps erreicht ist.

Bei der Fehlermeldung "Arithmetischer Überlauf" ist diese Grenze des Datentyps erreicht.

Für den Anwendungsfall SortTree ist es so, dass die BVLIneartabelle bei jedem Lauf komplett neu geschrieben wird. Man kann zur Lösung des Problems die Tabelle mit dem Befehl TRUNCATE TABLE leeren und den SortTree nochmals starten. Der Befehl bewirkt, dass der Zähler auf 1 zurückgesetzt wird. Die BVLinear ist anschliessend aktuell.

Weitere Info

Um diesen Fehler in späteren Versionen zu beheben, wurde der Entwickler-Case E#9150 erfasst. Betroffen sind mindestens alle Versionen bis und mit V2013.10. Eine Lösung wurde aktuell noch nicht implementiert.

Haben Sie Fragen? Anfrage einreichen