PRB: Error Msg 1007: The Number Is Out of Range / Err 8115: Arithmetic Overflow (203787)



The information in this article applies to:

  • Microsoft SQL Server 6.5
  • Microsoft SQL Server 7.0
  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q203787

SYMPTOMS

The following error occurs when inserting a positive or negative numeric (decimal) or float number with a precision (digits in the number) greater than 28 digits:
Error -Update SpcStat PutDB (4 1007)
[Microsoft][ODBC SQL Server Driver][SQL Server]The number
'-3402823466385289000000000000000000000.0000000000'
is out of range for numeric representation (max precision: 28).
NOTE: The actual value shown in the error message will be the number that is being manipulated in the statement.

CAUSE

This behavior is by design. The default processing for a user input decimal (from the parser) is now numeric, which supports a maximum precision of 28.

WORKAROUND

If you want to input data with higher precision, do either of the following:
  • Use the exponential notation (such as 10.0E-32, 10.0e-32, 10.0E32, or 10.0e32).

    -or-
  • Use trace flag 107 to bypass the numeric processing that causes the error message.

Modification Type:MajorLast Reviewed:11/14/2003
Keywords:kbprb KB203787