title: ODP.net Oracle Decimal Number precision problem when filling a dataset. Exception: Arithmetic operation resulted in an overflow
body: <p>I am working in c# .net 2 (Visual Studio 2005 SP1) attempting to <strong>fill a dataset</strong> with the results from a select * from table from an Oracle10g database. The .net framework, IDE and database <strong>cannot</strong> be changed at this client site.</p>
  
  <p>I'm connecting using the <strong>ODP.net provider</strong> the dll version is <strong>2.102.2.20</strong></p>
  
  <p>When I run the fill command I get an Exception:</p>
  
  <p><strong>Arithmetic operation resulted in an overflow</strong></p>
  
  <p>Also if I attempt to view the offending column in the Visual Studio designer (Show Table Data) I get <strong></strong> for every row for this column in the table. The code works perfectly if my query selects other columns with integers for example omitting this column.</p>
  
  <p>The column in question looks fine when I view it in the database from Toad, data looks like:</p>
  
  <p><strong>919.742866695572</strong></p>
  
  <p>I need the <strong>precision</strong> as it's required for a monte carlo simulation.</p>
  
  <p>If instead of using a data adapter to fill the datatable I use a datareader and call dataReader.getValue(columnIndex) I get the same error but if I call dataReader.GetOracleDecimal(columnIndex) then I get the result I am looking for, no error.</p>
  
  <p>I would rather use data adapter and filling a dataset (note these are untyped datasets as I couldn't get autogenerated strongly typed datasets to work from an oracle db). I don't want to use datareader and walk through the results (pick out the column values) as I am trying to write this as a generic method to work for many scenarios regardless of number of columns, index of decimal columns that would require specific get calls by datatype.</p>
  
  <p>Can anyone help?
  Can I use new versions of the ODP.net dlls to connect to the older <strong>Oracle10g</strong> database? am wondering if this will help.</p>
  
  <p>Thanks</p>