【问题标题】:SSIS package writing to CRM 2011 Data type errorSSIS 包写入 CRM 2011 数据类型错误
【发布时间】:2013-11-08 17:09:11
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: ssis type-conversion dynamics-crm-2011 scribe-workbench


    【解决方案1】:

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

    1. OLE DB 源中的 SELECT 语句。
    2. 您可以在“数据转换”中进行更改
    3. 派生列元素

    在 Derived Column 元素代码为:

    (DT_WSTR, 50)([YourString])
    

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

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

    【讨论】:

    • 我添加了错误消息的屏幕截图。将尝试更新我的查询,看看是否有效。
    • @kmria from screenshot 我猜有来自 CRM 的数据源可能是 scripttask 并且您在此元素中的“获取 CRM 订单”属性中将 unicode 列的类型更改为非 unicode 或从 nvaarchar 更改为varchar。你不能做什么,你需要像第一次那样设置。如果您显示该元素“获取 CRM 订单”和错误列之一的属性会更好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2022-11-11
    • 2011-06-05
    • 1970-01-01
    相关资源
    最近更新 更多