【问题标题】:How to Convert NTEXT values to BOOLEAN using SSIS如何使用 SSIS 将 NTEXT 值转换为 BOOLEAN
【发布时间】:2012-11-21 13:14:35
【问题描述】:

我正在使用 SSIS 将 SalesForce 数据导入 SQL Server。在 SF 中,我的 ntext 文件包含诸如“Live/Not Live”之类的值,可以通过 SQL Server 中的位文件轻松解释。

有没有办法使用 SSIS 将这些 ntext 字段转换为布尔值。我尝试使用派生列转换并得到以下错误:

[插入目标 [807]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。
发生 OLE DB 错误。错误代码:0x80040E21。 OLE DB 记录 可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80040E21 说明:“多步 OLE DB 操作 产生的错误。检查每个 OLE DB 状态值(如果可用)。不 工作完成了。”。

[插入目标 [807]] 错误:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREON错误。 “输入”OLE DB Destination 输入“(820)”失败,因为出现错误代码 0xC020907B,并且 “输入“OLE DB 目标输入”(820)”上的错误行处置 指定错误失败。指定对象发生错误 的指定组件。可能会发布错误消息 在此之前提供有关失败的更多信息。

[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。这 组件“插入目标”(807) 上的 ProcessInput 方法失败 处理输入“OLE DB 目标”时出现错误代码 0xC0209029 输入”(820)。

已识别的组件从 ProcessInput 方法返回错误。 该错误是特定于组件的,但该错误是致命的并且会导致 数据流任务停止运行。可能会发布错误消息 在此之前提供有关失败的更多信息。

任何帮助将不胜感激。

【问题讨论】:

    标签: sql tsql ssis sql-server-2008-r2


    【解决方案1】:

    NTEXT 是您的 unicode 文本流。你不能对流做很多事情,所以我们需要把它变成更易于管理的东西,比如 DT_STR 或 DT_WSTR。您的文本数据是否具有国际化只有您自己知道。无论哪种方式,将Data Conversion Transformation 连接到您的 SF 源并将该数据设为非流类型(给它一个最大宽度)。此操作的目标是获取流数据并将其转换为纯文本值(Live,Not Live)。我假设这个专栏将被称为IsLiveString

    现在您正在处理字符串类型,将派生列转换添加到转换输出,这里您需要一个表达式来确定数据转换任务提供的值是否计算为真/假。即使 SQL Server 理解 Live 转换为 1(真),我也没有办法永远依赖这种魔法。相反,我希望创建一个新列 IsLiveBoolean,它的表达式类似于 ([IsLiveString]=="Live") ? True : False 该表达式是近似的,我没有坐在 SSDT/BIDS 的实例中。它也可以通过消除代替相等检查的三元表达式来简化。如果您需要处理 IsLiveString 列中的 NULL 值,则三元运算符语法使评估更容易。

    编辑

    一张图片值一千字,所以考虑一下这 3k 和一些变化。这代表数据流中的操作。我使用了一个简单的查询来 POC 您的示例。我生成了一个数据类型为 ntext 的列,其值为“Live”和“Not Live”以及一个 NULL。从源头上,我使用如上所述的数据转换任务。我与 DT_WSTR 一起使此答案适用于尽可能广泛的受众,并将长度保留为默认值 50。为了优化内存使用,您需要减小长度以匹配源系统中可能的最长值。

    我因此配置了派生列转换。有处理 NULL 的选项,或者如果您知道您的数据没有 NULL,那么第一个将起作用。

    结果。您可以观察到这正确地将字符串转换为相应的布尔对应项。然后这些将通过管道传输到您的目标组件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 2013-04-16
      • 2015-08-06
      • 2019-06-11
      • 2016-07-30
      • 1970-01-01
      • 2019-04-05
      相关资源
      最近更新 更多