SSIS中的SQL错误

时间:2014-05-16 19:57:13

标签: sql excel ssis

我正在尝试将Excel工作表导入已存在的数据库表。 我正在使用SSIS执行此操作,因为“导入/导出向导”已经让我失望。

我一直收到这些错误:

- [OLE DB目标[77]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005描述:“未指定的错误”。

- [OLE DB目标[77]]错误:OLE DB Destination.Inputs [OLE DB目标输入] .Columns [ConvReturnsPct]在OLE DB Destination.Inputs [OLE DB目标输入]上出错。返回的列状态为:“该值违反了列的完整性约束。”。

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

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

我对SSIS很新,我不知道从哪里开始。谷歌搜索错误代码已经变得毫无结果。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

SSIS错误可能令人困惑,这是重要的错误:

The value violated the integrity constraints for the column

如果输入了excel中的值,则对现有表中的列有一个约束。您可以将有问题的数据转换为符合要求,您可以在其他地方发送有问题的行,这样它们就不会导致导入失败,或者您可以忽略有问题的行并告诉任务不要因错误而停止运行。

答案 1 :(得分:0)

检查与ConvReturnsPct对应的表中的列,很可能您的表没有将列设置为NULLABLE且您的源有一些NULL