In Framework Manager, when trying to cast a Float field containing large values into an Integer data type, an Arithmetic Overflow error message occurs.
RQP-DEF-0177 An error occurred while performing operation 'sqlScrollBulkFetch' status='-232'.
UDA-SQL-0564 [Microsoft OLE DB Provider for SQL Server]Arithmetic overflow error for type int, value = 2210000101.000000. (SQLSTATE=22003,
UDA-CUR-0000 Unable to fetch the row.
This is caused by values larger than 2147483647 in the float field. A signed, 4-byte integer datatype only allows for values up to positive (2^31) - 1.
Reporting Database: Microsoft SQL Server
Resolving The Problem
You can cast the field as a bigint datatype instead. The expression editor for a field in a Model Query Subject will not allow you to use bigint as a datatype, so you must make this change in the SQL of the underlying Data Source Query Subject instead.Steps:1. Locate the underlying Data Source Query Subject in your FM model which is bringing back the float field in question.
2. Right-click it, and choose Properties.
3. On the SQL tab, edit the SQL so that instead of selecting floatField, you are selecting cast(floatField AS bigint) as "intField"
Was this topic helpful?
15 June 2018