无法将类型为“System.Decimal”的对象强制转换为类型“System.Char[]”。

Posted 小兵一枚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将类型为“System.Decimal”的对象强制转换为类型“System.Char[]”。相关的知识,希望对你有一定的参考价值。

在用微软的SSIS操作ORACLE 数据源的时候碰到以下报错信息:

[ADO NET Destination [13455]] 错误: 数据插入期间出现异常,从提供程序返回的消息为:无法将类型为“System.Decimal”的对象强制转换为类型“System.Char[]”。

SQL语句:

select A FROM TABLE WHERE B ....

字段A为NUMBER类型,但是数据库中有空值,所以报错,只是报错信息不标准

SQL改为

SELECT
case when A is not null then A ELSE 0 END AS A
FROM TABLE B WHERE ...

改完就不报错了,说白了就是加个判断。

以上是关于无法将类型为“System.Decimal”的对象强制转换为类型“System.Char[]”。的主要内容,如果未能解决你的问题,请参考以下文章

c#中怎样使decimal类型变量保留固定小数位?

映射数据类型 Oracle 和 C# 时出错

将 ODP.Net 与 NHibernate 与 .net System.decimal 一起使用

计算 System.Decimal 精度和比例

在 C# 中使用 System.Decimal 进行数学运算

无法将类型为“System.Collections.Generic.List`1[EPMS.Domain.SingleItem]”的对象强制转换为类型“EPMS