以从平面文件加载到数据库为例,红色框为错误的数据:
总的来讲,有以下几种情况:
1.当平面文件中,日期设置为字符串10个长度,那么在平面文件中就会发生截断错误
2.当平面文件中,日期设置为字符串10个长度并且该字段忽略错误,那么OLE DB加载时会出现转换的错误
3.当平面文件中,日期设置为字符串10个长度并且该字段忽略错误,OLE DB中也忽略错误,那么数据库中加载会少这两条记录
4.当平面文件中,设置为日期类型,那么平面文件中会报转换的错误
5.当平面文件中,设置为日期类型,并忽略错误,那么平面文件不会删除这两条记录,这两个字段的值回转换为null,并往OLE DB中写,这两个字段值在数据库中会是以null存储
关于记录错误信息的方法,有以下两种:
图一中,时在平面文件源中进行类型转换,输出方式选择重定向,那么错误的数据就会以一列的方式存储在表中。
图二的方式是在平面文件源中不进行类型转换,默认什么就是什么,在OLE_DST_EMPLOYEE中设置重定向,
增加一个派生列,产生EXECUTION_ID,目的为了区分每一次错误数据是由哪次抽取产生的。
EMPLOYEE_ERROR表中,字段的类型与平面文件源保持一致,否则依旧会发生类型转换的错误。