SSIS Foreach循环CSV文件的错误

问题描述:

对,所以我有一个foreach循环与数据流内的所有完全相同的格式通过一组文件。这会改变一些派生列的东西,这些列都被转储到SQL Server数据库中,这将成为我的临时表。SSIS Foreach循环CSV文件的错误

问题是,即使文件的格式都是相同的,某些文件仍然会引发错误,但错误始终在日期之前。它将通过4个文件没有问题,然后在第5个文件停止工作。

我想要做什么?

  • 我想获得一整套具有相同格式的文件,并将数据从内部放入SQL数据库中,同时更改某些格式。

我试过做什么?

  • 我试着重新格式化日期为dd/mm/yyyy,这是我希望日期有的格式。 重新格式化工作,但然后在它出现类型转换错误之前,在相同的文件有错误。

这是我的错误: [OLE DB目标[59]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生了OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。源:“Microsoft SQL Server本机客户端11.0”Hresult:0x80004005描述:“无效的字符值转换规范”。

[OLE DB目标[59]]错误:有与OLE DB Destination.Inputs [OLE DB目标输入] .Columns [量]上OLE DB Destination.Inputs [OLE DB目标输入]错误。返回的列状态是:“由于潜在的数据丢失,无法转换该值。”

[OLE DB Destination [59]]错误:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “OLE DB Destination.Inputs [OLE DB目标输入]”失败,因为发生了错误代码0xC0209077,并且“OLE DB Destination.Inputs [OLE DB目标输入]”上的错误行处置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,提供有关失败的更多信息。

* [SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。在处理输入“OLE DB Destination Input”(72)时,组件“OLE DB Destination”(59)上的ProcessInput方法失败,错误代码为0xC0209029。标识的组件从ProcessInput方法返回错误。该错误是特定于组件的,但错误是致命的,并且会导致数据流任务停止运行。在此之前可能会发布错误消息,提供有关失败的更多信息。 *

它发生之前,我通过创建一个新的foreach循环来处理新格式的新文件(我无法看到格式的任何变化,但它继续)来解决它。

这是数据流格式: enter image description here

这是派生列 enter image description here

任何帮助将不胜感激的形象!如果你需要我澄清任何事情,请让我知道。

+0

它似乎指的是不同的列:'Columns [Amount]'。这个专栏是什么? –

+0

这是一个货币列,我只是再次检查以确保工作的文件与不工作的文件之间的格式没有区别 –

+0

货币值传递和另一个传递失败的示例是什么? –

您的列显示顺序不同。我替换管道的标签,得到了以下几点:

工作:

Staffordshire County Council|Staffordshire County Council Other|247 Cars Willenhall Ltd 15/06/2017|1126.97|Transport - Escorts|Transport - Escorts|opendatacommunities.org/id/county-council/staffordsh‌​ire 

不工作:

Staffordshire County Council|Childrens Services SEND|247 Cars Willenhall Ltd|273.42|06/07/2017|Transport - Escorts|Transport - Escorts opendatacommunities.org/id/county-council/staffordsh‌​ire 

在第一个日期是上量的另一边,似乎包含在“247 Cars Willenhall Ltd”字符串中。

如果通过右键单击最后两个组件之间的箭头并选择该选项来启用数据查看器,您将清楚地了解它如何影响数据流(运行/调试程序包时)。

+0

谢谢,我是否需要更改CSV文件中的标题或其他任何内容以使其正常工作? –

+0

那么,不管你采用什么路线,你只需要确保文件之间的一致性,所以相同顺序的相同列,以及你选择的任何分隔符(在这种情况下是选项卡)。这个例子有趣的是Amounts似乎在这两个时间都在第四个领域,但那是抛出了错误(至少是你发布的那个)。在此上运行数据查看器以查看到底发生了什么会很有趣。 –

+0

好吧,所以我试图在excel中编辑它,把所有东西都交换到正确的位置,而且还没有去。出现完全相同的错误。我确信这会是原因! –