SSIS包写入CRM 2011数据类型错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS包写入CRM 2011数据类型错误相关的知识,希望对你有一定的参考价值。

我们正试图通过SSIS包将单个订单推送到MS CRM(开发实例)。来自源(登台表)的大多数列都是数据类型“DT_STR”,它们在CRM中的映射字段是“DT_WSTR”数据类型。

我已经在这个网站上寻找解决方案,但在所有情况下,问题都是将wstr转换为str。在我的情况下,我需要将str转换为wstr。当我运行包时,我得到错误说,

列xxxx无法在unicode和非unicode字符串数据类型之间进行转换

我已经尝试了两个解决方案: 1.右键单击OLE源并将数据类型转换为wstr和 2.使用'数据转换'

在这两种情况下,错误都保持不变。还有其他人有过类似的问题吗?

答案

在OLE DB源属性中不更改数据类型。如果你想要你可以改变

  1. OLE DB源中的SELECT语句。
  2. 你可以改变'数据转换'
  3. 派生列元素

在Derived Column中,元素代码是:

(DT_WSTR, 50)([YourString])

不要替换列,在Derived列元素中添加新列。

如果你无法转换你做错了,你没有给出真正的错误信息(或你的设计图片),当你执行包时,真正的错误信息在输出窗口中。

以上是关于SSIS包写入CRM 2011数据类型错误的主要内容,如果未能解决你的问题,请参考以下文章

sql server 作业中的 ssis 包出错

奇怪的 SSIS 错误(进程退出代码 255)

更改 SQL 列的数据类型时更新 SSIS 包

SSIS 包写入 0 行但仅运行 DataFlow 并获得 400k 行

SSIS 包:在 unicode 和非 unicode 字符串数据类型之间转换

SSIS FTP 任务错误