The Provider Could Not Determine The Decimal Value

September 21st, 2009  |  Published in ASP.NET

I got this error this past week when working with a vendor who was exporting data in a .dbf (FoxPro).  It turns out that this can happen for a bunch of reasons, but most often its because there is an overflow in the field.  In other words, you may have a numeric field with a character in it.  Or maybe a date field with a bad date in it.

I’m sure that this oddity makes perfect sense to FoxPro, but it causes the OLEDB provider to throw up all over itself – in the form of an error similar to “The Provider Could Not Determine The Decimal Value”.

In fact, if you open up the dbf and look at its contents, you will most likely find the offending row and column contain ** for the value.  This would signify and overflow of some kind.

The solution is to either clean out the data in that column, or just don’t use the column.  As long as you don’t reference the column, all your CRUD operations will work fine.

Leave a Response