SSIS-OLE DB源到OLE DB目标错误

时间:2016-07-14 05:34:33

标签: sql-server database sql-server-2008 ssis oledb

我很擅长这个。我正在尝试将355行传输到目标

我有3列要转移Customer_NumberCrime_TypeAction_Date

当我创建Source表时,所有都是nvarchar(50)

目的地表是

[Customer Number] [float] NULL,
[Crime Type] [nchar](20) NULL,
[Date Closed] [datetime] NULL

我有另一张表做同样的事情,但它运行得非常好

我不明白为什么会收到此错误

  

[OLE DB Destination [2]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。
  OLE DB记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005描述:“铸造规范的字符值无效”。
  [OLE DB目标[2]]错误:OLE DB Destination.Inputs [OLE DB目标输入]上的错误。OLE DB Destination.Inputs [OLE DB目标输入]上的[Customer_Number] .Columns [Customer_Number]。返回的列状态为:“由于可能丢失数据,无法转换该值。”。

     

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

当我连接源和目标时没有错误但是运行时发生此错误。

如果有人能提供帮助就会很棒

2 个答案:

答案 0 :(得分:2)

正如消息已经告诉你的那样,存在一个转换问题:

“投射规范的字符值无效”

我的第一个猜测是你的Customer_Number中有无效字符或者字符串超出了FLOAT的范围。

答案 1 :(得分:0)

我的猜测是[关闭日期]。我还没有成功地将字符串或日期转换为表达式中的datetime。我已经走了一条指定的字符串,如2017-08-08 00:00:00.000'随着时间的不同迭代,他们都失败了几次浮动溢出'。我甚至尝试将日期转换为日期,然后尝试将日期转换为日期时间。我已经尝试了(DT_DATETIME),(DT_DATETIME2)精确到几个例子在线。所有都失败 - 我最近读到OLE DB目标可能是问题,我正在查看OLE DB Command对象并手动编写插入。 祝你好运......