title: Decimal point is stripped by OdbcDataReader when connecting to an Oracle data source
body: <p>I'm using <code>OdbcDataReader</code> to connect to an Oracle database. In there I have a table with a field declared as NUMBER(8, 2). I have inserted a row with the value '8.23' into it. It displays correctly when using <code>SELECT * FROM &lt;table&gt;</code> in SqlDeveloper.</p>
  
  <p>However, when accessing this field through ODBC from .NET using OdbcDataReader.GetDecimal() I get back a <code>Decimal</code> containing '823'. Why is this, and how do I get the correct value?</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>If I instead use the <code>OracleConnection</code>/<code>OracleCommand</code> everything works as expected.</p>
  
  <p>It also turns out that if I in my ODBC Driver configuration changes "Numeric Settings" from "Use Oracle NLS settings" to "Use US settings" the decimal point is also returned correctly. What is going on here really?</p>
  
  <p>Basically I am using the code below:</p>
  
  <pre><code>using (OdbcCommand command = new OdbcCommand("SELECT * FROM TEST", connection))
  {
     using (DbDataReader reader = command.ExecuteReader())
     {
        while (reader.Read())
        {
           Console.WriteLine(reader.GetValue(0));
        }
     }
  }
  </code></pre>
  
  <p>and this prints: </p>
  
  <pre><code>823
  823
  </code></pre>
  
  <p>But running <code>SELECT * FROM TEST</code> in Oracle SQL Developer returns:</p>
  
  <pre><code>FLDNUM82    
  ---------- 
    8.23     
    8.23 
  </code></pre>
  
  <p>And running <code>desc TEST</code> returns:</p>
  
  <pre><code>Name     Null Type        
  -------- ---- ----------- 
  FLDNUM82      NUMBER(8,2) 
  </code></pre>