如何将数据从文本文件传输到数据库中

时间:2016-10-18 12:28:38

标签: sql-server database ssis

我在记事本(.txt)文件中有来自sysssislog表的数据,我需要将数据传输到SQL服务器数据库。

我在sql server中创建了表。数据应使用SSIS包在表中传输。在工作期间出现了这个错误。

有谁知道如何解决它?非常感谢

SSIS packages scheme

  

[OLE DB Destination [113]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。来源:" Microsoft SQL Server Native Client 11.0" Hresult:0x80004005描述:"违反PRIMARY KEY约束' PK__sysssisl__3213E83F530E2571'。无法在对象' dbo.sysssislog'中插入重复键。重复键值为(0)。"。

     

[OLE DB目标[113]]错误:SSIS错误代码

     

DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 " OLE DB Destination.Inputs [OLE DB Destination Input]"失败,因为错误代码0xC020907B发生,错误行处置" OLE DB Destination.Inputs [OLE DB Destination Input]"指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

     

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

     

[平面文件源[56]]错误:尝试向数据流任务缓冲区添加行失败,错误代码为0xC0047020。

     

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 Flat File Source上的PrimeOutput方法返回错误代码0xC02020C4。当管道引擎调用PrimeOutput()时,组件返回失败代码。

     

失败代码的含义由组件定义,但错误是致命的,管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

2 个答案:

答案 0 :(得分:2)

SSIS消息有时会让人感到困惑,因为它看起来比实际上有更多的错误。在这种情况下,第一个错误是密钥:text之后的所有其他错误都告诉您至少有一个错误阻止任务完成。

检查您的映射并确保您没有将重复值输入到为表格设置的主键中。

答案 1 :(得分:0)

您可以使用BCP将数据导入SQL Server数据库:

这是一个从文件导入数据的简单命令:

  

C:\ example.txt到表dbo.example。

     

bcp dbo.example在'C:\ example.txt'-T -SserverName \ instanceName