我正在尝试使DTS包在同一台服务器上的两个数据库之间传输数据,并且出现以下错误。我读过,当您在不同的数据库类型之间进行传输并且存在精度损失时,可能会发生多步OLE DB操作生成的错误,但这里不是这种情况。我如何检查列元数据?如何修复SSIS中的多步OLE DB操作错误?
Error: 0xC0202009 at Data Flow Task, piTech [183]: An OLE DB error has occurred. Error code: 0x80040E21. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
Error: 0xC0202025 at Data Flow Task, piTech [183]: Cannot create an OLE DB accessor. Verify that the column metadata is valid.
Error: 0xC004701A at Data Flow Task, DTS.Pipeline: component "piTech" (183) failed the pre-execute phase and returned error code 0xC0202025.
+1 - 这很好。我通过使用派生列将`memo`类型(从我的访问源数据库)转换为SSIS中的`DT_WSTR`类型来解决相同的错误。将我的字符串作为`DT_WSTR`类型在我的SQL 2008 R2数据库中将字符串存储为nvarchar时效果很好。 – 2011-10-08 15:35:53
我的问题是类似的 - 从SQL 2012数据库复制到MS Access表。目标类型是Text,我没有意识到它有255个字符的限制。我将目标类型更改为备忘录以删除此限制,并且数据复制成功。 – 2017-03-16 14:09:32