title: Infinite fraction value in sql query column in c#
body: <p>I'm facing a problem which occurs when trying to get the results of this simple sql query in NET (c#):</p>
  
  <pre><code>select 1/3 as col from dual
  </code></pre>
  
  <p><code>OracleDataReader.GetValue(i)</code> throws an exception:</p>
  
  <blockquote>
  <pre><code>Arithmetic operation resulted in an overflow.
  at Oracle.DataAccess.Types.DecimalConv.GetDecimal(IntPtr numCtx)
  at Oracle.DataAccess.Client.OracleDataReader.GetDecimal(Int32 i)
  at Oracle.DataAccess.Client.OracleDataReader.GetValue(Int32 i)
  </code></pre>
  </blockquote>
  
  <p>I've discovered that this error occures when number precision goes over 28 digits, so this leads to error:</p>
  
  <pre><code>select round(1/3,29) as col from dual
  </code></pre>
  
  <p>but this won't</p>
  
  <pre><code>select round(1/3,28) as col from dual
  </code></pre>
  
  <p>Trying to treat column value in c# as Double gets error "Invalid cast"</p>
  
  <p>Does anyone know any approach to avoid this situation except of ubiquitous rounding of number columns?</p>