今天在用SSIS移植数据库是碰到了如下错误:
已获得OLE DB 记录。源:“OraOLEDB”Hresult: 0x80040E21 说明:“多步OLE DB 操作产生错误。如果可能,请检查每个OLE DB 状态值。没有工作被完成。”。
产生这个问题的原因是:
数据库的字段类型不匹配
解决办法:
运行后,看哪一个OLE DB变红,就核对其对应列(一般为目的源),看一下其字段对应关系中,两边的字段的类型是否一致。
今天导致的具体原因:
源:select id,null as name from ...
SSIS将name默认为int类型,而目标数据库的类型为VARCHAR2,所以报错了。