Search code examples
oracle-databasems-accessoracle11godbc

"Scaling of decimal value resulted in data truncation" via ODBC


I'm receiving an error of "Scaling of decimal value resulted in data truncation" when simply trying to view an ODBC table in MS Access. I know the field that is returning the error, and Access is able to recognize the field when querying off of it, but I'm not able to view the results (#Error records) and the error keeps kicking back.

I've tried CDbl() with no luck. A Nz() doesn't even allow the query to run.

The source database is Oracle, connected via Database Client 11g Release 2 for Microsoft Windows x64. The field is defined by the data dictionary as Number with a length of 22. Design view shows the fields a Decimal with precision of 13, but a scale of 2.

I'm guessing the scale of 2 is causing this error. I'm linking the table via MS Access. Is there anyway for me to resolve this with access to Access and the ODBC, or does this need to be resolved in Oracle?


Solution

  • The Oracle server recently changed its scale from 2 to 4 to allow the greater precision. Linked MS Access tables do not update when the change is made on the server. The table must be removed and relinked for the scale to refresh.