大量我和类型NUMBER(38,0)
阅读与Oracle ODBC
我需要此列取到我的C#应用程序的列Oracle表。
我使用库System.Data.Odbc.OdbcDataReader
从我的Oracle表中读取数据。
我试着用一样的正常功能获取数据:
var data = oracleReader["COLUMN"].ToString();
而且
var data = oracleReader.GetString(0);
而且连oracleReader.GetBytes()
功能。
但我总是得到System.OverflowException
,因为OdbcDataReader
总是试图让列decimal
在最后一步:
System.OverflowException: Value was either too large or too small for a Decimal.
at System.Data.Odbc.OdbcDataReader.internalGetDecimal(Int32 i)
at System.Data.Odbc.OdbcDataReader.GetValue(Int32 i, TypeMap typemap)
at System.Data.Odbc.OdbcDataReader.GetValue(Int32 i)
at System.Data.Odbc.DbCache.AccessIndex(Int32 i)
at System.Data.Odbc.OdbcDataReader.internalGetString(Int32 i)
at System.Data.Odbc.OdbcDataReader.GetString(Int32 i)
我很高兴,如果我能得到这个数据作为String
我的应用程序。
仅供参考,我无法更改列的数据类型,我需要使用它。
无论如何绕过.NET表示?我只需要将数据以任何格式存入我的应用程序。我的问题不是在我终于拥有它时如何表示数据。 – Blc 2014-12-02 18:10:15
如果您尝试:object data = oracleReader [“COLUMN”],它是否会抛出异常? – 2014-12-02 18:14:58
是的,它确实会抛出异常 – Blc 2014-12-02 18:20:26