无法复制或转换列

时间:2017-11-20 07:04:15

标签: sql-server ssis-2012 ssis-2008

我在将Datetime字段从oledb源转换为flatfile文件时面临ssis包的问题。我不会每次都会面对这种情况。请帮帮我。我有DB_Timestamp的数据类型,用于目标DT_STR(50)中的列。

  

以用户身份执行:NA \ X16871。 Microsoft(R)SQL Server执行包实用程序12.0.5000.0版,适用于64位版权所有(C)Microsoft Corporation。版权所有。开始时间:3:30:08 PM错误:2017-11-16 16:40:37.45代码:0xC0202053源:DFT - 错误报告FF DST加载错误报告[2]描述:无法写入数据文件。结束错误错误:2017-11-16 16:40:37.45代码:0xC02020A0源:DFT - 错误报告FF DST加载错误报告[2]描述:无法复制或转换列#34; OPEN_SINCE"的平面文件数据。结束错误错误:2017-11-16 16:40:37.45代码:0xC0047022源:DFT - 错误报告SSIS.Pipeline描述:SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件上的ProcessInput方法" FF DST负载错误报告" (2)在处理输入"平面文件目的地输入"时,错误代码为0xC02020A0失败(6)。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误错误:2017-11-16 16:40:43.48代码:0xC0209017源:DFT - 错误报告OLE DB源[35]描述:设置缓冲区的行集结束失败,错误代码为0xC0047020。结束错误错误:2017-11-16 16:40:43.48代码:0xC0047038源:DFT - 错误报告SSIS.Pipeline描述:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 OLE DB Source上的PrimeOutput方法返回错误代码0xC0209017。当管道引擎调用PrimeOutput()时,组件返回失败代码。失败代码的含义由组件定义,但错误是致命的,管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误错误:2017-11-16 16:40:43.48代码:0xC0202053源:DFT - 错误报告FF DST加载错误报告[2]描述:无法写入数据文件。结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。开始于:3:30:08 PM完成时间:下午4:40:43经过:4234.5秒。包执行失败。步骤失败了。

2 个答案:

答案 0 :(得分:1)

有时会发生转换错误,我宁愿看一下源组件。右键单击OLEDB源并单击高级编辑器,然后查找输入/输出属性。展开输出列并检查数据类型。将其更改为db_timestamp,如果数据类型为dt_str,则有时会失败并成功。

Output Properties

答案 1 :(得分:0)

是的,这是一个数据转换问题,您的平面文件有DT_STR,但源字段的类型为DT_DBTIMESTAMP。您应该转换源或目标字段,以便两者具有相同的数据类型。如果在调试时没有进行任何更改,我不确定程序包之前是如何运行的。