在用微软的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 ...

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