SQL Server语言 - SSIS- OLE DB 源到 OLE DB 目标错误



我在这方面很陌生。我正在尝试将 355 行传输到目标

我有 3 列来传输Customer_NumberCrime_TypeAction_Date

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

目标表为

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

我有另一张桌子在做同样的事情,但它运行得很好

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

[OLE DB 目标 [2]] 错误:SSIS 错误代码DTS_E_OLEDBERROR。 发生 OLE DB 错误。错误代码:0x80004005。
OLE DB 记录可用。 源:"Microsoft SQL Server 本机客户端 11.0" 结果:0x80004005说明:"强制转换规范的字符值无效"。
[OLE DB 目标 [2]]错误: OLE DB 目标错误。输入 [OLE DB 目标输入]。OLE DB Destination上的列[Customer_Number]。输入[OLE DB Destination Input]。返回的列状态为:"由于潜在的数据丢失,无法转换该值。

[OLE DB 目标 [2]] 错误:SSIS 错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 "OLE DB 目标.输入 [OLE DB 目标输入]"失败,因为0xC0209077发生错误代码,并且"OLE DB 目标输入.输入 [OLE DB 目标输入]"上的错误行处置指定错误时失败。指定组件的指定对象上发生错误。 在此之前可能会发布错误消息,其中包含有关失败的详细信息。

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

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

如果有人能帮忙,那就太好了

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

"强制转换规范的字符值无效"

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

我的猜测是[关闭日期]。 我还没有成功让它在表达式中将字符串或日期转换为日期时间。 我甚至已经通过一个指定的字符串,如'2017-08-08 00:00:00.000',进行了各种迭代,它们都因"浮点溢出"而失败了几次。 我甚至尝试将日期转换为日期,然后尝试将日期转换为日期时间。 我已经根据网上的几个例子精确地尝试了(DT_DATETIME),(DT_DATETIME2)。 全部失败 - 我最近读到OLE DB目标可能是问题所在,并且正在研究OLE DB命令对象并手动写入插入。祝你好运。。。

最新更新