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

SSIS- OLE DB source to OLE DB Destination error

我对此很陌生。我正在尝试将 355 行传输到目的地

我有 3 列要传输 Customer_NumberCrime_TypeAction_Date

当我创建 Source 时 table 都是 nvarchar(50)

目的地table是

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

我有另一个 table 做同样的事情,但它 运行 非常好

我不明白为什么会出现此错误

[OLE DB Destination [2]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Invalid character value for cast specification".
[OLE DB Destination [2]] Error: There was an error with OLE DB Destination.Inputs[OLE DB Destination Input].Columns[Customer_Number] on OLE DB Destination.Inputs[OLE DB Destination Input]. The column status returned was: "The value could not be converted because of a potential loss of data.".

[OLE DB Destination [2]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "OLE DB Destination.Inputs[OLE DB Destination Input]" failed because error code 0xC0209077 occurred, and the error row disposition on "OLE DB Destination.Inputs[OLE DB Destination Input]" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Destination" (2) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (15). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.

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

如果有人能帮忙就太好了

消息已经告诉您,存在转换问题:

"Invalid character value for cast specification"

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

我猜是[截止日期]。我还没有成功地让它在表达式中将字符串或日期转换为日期时间。到目前为止,我已经通过各种迭代传递了一个指定的字符串,如“2017-08-08 00:00:00.000”,但它们都失败了几次 'float overflow'。我什至尝试将日期转换为日期,然后尝试将日期转换为日期时间。我已经按照几个在线示例精确地尝试了 (DT_DATETIME), (DT_DATETIME2) 。全部都失败了——我最近读到 OLE DB 目标可能是问题所在,我正在查看 OLE DB 命令对象并手动编写插入。 祝你好运...