1

我有一个 SSIS 项目,用于使用 Kingswaysoft 自动将 CRM 数据拉入 SQL Server 数据库。这些 SSIS 包是自动生成的,所以我对这个问题的解决方案需要与之兼容。

CRM 中联系人上的描述字段是 nvarchar(2000),但是这个 CRM 组织仍然有旧数据,并且其中一些旧联系人记录的描述超过 2000 个字符。当我尝试使用 Kingsway 拉动那些时,我收到此错误:

错误:联系人阶段数据中的 0xC002F304,导出联系人数据 [2]:发生错误并显示以下错误消息:“‘描述’字段(或其相关字段之一)的输入值不适合输出缓冲区,请考虑增加输出列的 Length 属性或将其数据类型更改为可以容纳更多数据的类型,例如 ntext (DT_NTEXT)。可以使用组件的高级编辑器窗口来完成此更改。”。

这是有道理的,因为我拉的列比元数据中指定的长,但问题是我想忽略这个错误,截断列,并继续加载数据。显然我可以将列设置为 DT_NTEXT 而不必担心,但由于这些包是自动生成的,我无法事先知道哪些列有旧数据,哪些没有,所以我不知道哪个应该是 DT_NTEXT。

那么有没有办法让 Kingswaysoft 截断比元数据中指定的长度更长的输入数据?

4

1 回答 1

4

感谢您选择 KingswaySoft 作为您的集成解决方案。对于这种情况,不幸的是,如果不在组件的高级编辑器中进行这些更改,就无法完成这项工作。

如果源组件只是简单地忽略错误并截断值,您将丢失一些数据,从而影响集成期间的数据完整性。因此,您可能需要将数据类型更改为 DT_NTEXT 或增加此字段的长度才能正确处理这种情况。或者,您可以尝试更改 CRM 端的字段长度,以便可以正确生成 SSIS 包。

于 2017-06-06T16:05:34.257 回答