我很擅长这个。我正在尝试将355行传输到目标
我有3列要转移Customer_Number
,Crime_Type
,Action_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方法返回错误。该错误特定于组件,但错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
当我连接源和目标时没有错误但是运行时发生此错误。
如果有人能提供帮助就会很棒
答案 0 :(得分:2)
正如消息已经告诉你的那样,存在一个转换问题:
“投射规范的字符值无效”
我的第一个猜测是你的Customer_Number中有无效字符或者字符串超出了FLOAT的范围。
答案 1 :(得分:0)
我的猜测是[关闭日期]。我还没有成功地将字符串或日期转换为表达式中的datetime。我已经走了一条指定的字符串,如2017-08-08 00:00:00.000'随着时间的不同迭代,他们都失败了几次浮动溢出'。我甚至尝试将日期转换为日期,然后尝试将日期转换为日期时间。我已经尝试了(DT_DATETIME),(DT_DATETIME2)精确到几个例子在线。所有都失败 - 我最近读到OLE DB目标可能是问题,我正在查看OLE DB Command对象并手动编写插入。 祝你好运......