Oracle NUMBER(20)对应的c#类型?

问题描述:

Oracle NUMBER(20)的相应C#类型是什么? Oracle版本为8.Oracle NUMBER(20)对应的c#类型?

更新:

这是插入查询。然后尝试将下列参数添加到命令:

IDbDataParameter idParameter = cmd.CreateParameter(); 
idParameter.DbType = DbType.Int64; 
idParameter.Value = id; 
cmd.Parameters.Add(idParameter); 

甲骨文给了我异常: System.Data.Odbc.OdbcException:ERROR [22007] [微软] [ODBC驱动程序用于Oracle] [甲骨文] ORA-01840:对于日期格式,输入值不够长

+1

您正在使用哪种.NET ADO提供程序? – thecoop 2011-03-09 12:07:37

+0

用于Oracle的Microsoft ODBC – 2011-03-09 12:10:03

+2

您可能想要检查该错误。我认为这与该号码无关,但它正在寻找一个日期。 ORA-01840:\t输入值不够用于日期格式 原因:\t要转换为日期格式的数据不完整;日期格式图片比输入数据长。 – 2011-03-09 12:37:34

错误消息ORA-01840: input value not long enough for date format不是数据类型映射错误。这是你当甲骨文失败,在某些情况下TO_DATE如错误的类型:

SQL> SELECT to_date('0101', 'ddmmyyyy') FROM dual; 

ORA-01840: input value not long enough for date format 

我会去了解一下您的SQL查询/ PLSQL块这样的错误。

您是否使用GetInt32()方法读取数据?尝试使用GetDecimal()代替。

+0

这是插入不选择查询。 – 2011-03-09 12:17:46

的Int16为-32768和32767之间的值,为的Int32 -2147483648到2147483647,和Int64的任何东西之间较大的值。请参阅this