0

如果我再把头撞在桌子上 1 次,我可能会永远消失。

资料来源:Excel

数据:2012-10-05T11:14:00

转换:

2012-10-05T11:14:00 在 Excel 中到字符串 [DT_STR]

目的地:SQL

列数据类型:日期时间

我不断收到以下错误:

[PostBindInspectionsBucket [20]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“转换规范的字符值无效”。

[PostBindInspectionsBucket [20]] 错误:输入“OLE DB 目标输入”(33) 上的输入列“RequestTimestamp 的副本”(112) 存在错误。返回的列状态为:“由于可能丢失数据,无法转换该值。”。

[PostBindInspectionsBucket [20]] 错误:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“输入“OLE DB 目标输入”(33)”失败,因为发生错误代码 0xC0209077,并且“输入“OLE DB 目标输入”(33)”上的错误行处置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

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

我究竟做错了什么?来自 Excel 的格式是有效的日期时间格式。

我创建了一个包含“日期时间”类型列的表,然后我将其粘贴到“2012-10-05T11:14:00”中,它工作正常。

我也跑了一个

SELECT ISDATE('2012-10-05T11:14:00') 

它返回 1,这意味着它是 SQL 中的有效日期时间。

有谁知道可能是什么问题?

4

1 回答 1

0

这里的问题是“T”。

我从它穿过的字符串中删除了 T 。

于 2013-06-20T02:44:38.143 回答