1

我使用一个平面文件作为源,其中有几列属于日期格式,并且我已将所有数据放入预定义的 SQL Server 表中。

例子:-

平面文件

CaseNO|CaseType|Cate
1 |组织 |1\12\2012
2 |PGD |3\3\2011

在这里,当我用数据查看器检查它时,它看起来像 2012-12-1 00:00:00.0000000。但 OLE DB 连接会产生以下错误。

[OLE DB Destination [7546]] Error: There was an error with input column 
"CDate" (8799) on input "OLE DB Destination Input" (7559). The column status
returned was: "The value could not be converted because of a potential loss of data.".

请指导我...感谢您的帮助。

343

4

2 回答 2

0

看起来您已经将数据暂存到 sql server 表中。使用 SQL 命令而不是选择 OLEDB 源中的表。如下编写查询并映射到目的地。

SELECT Id,CaseType,convert(datetime,CDATE,101) as Cdate from

如果您直接使用平面文件加载到目标表。您应该使用派生列转换来解析它以提及格式 [dd/mm/yyyy] 并转换为数据时间。

谢谢, 戈达曼

于 2012-10-24T11:15:20.693 回答
0

这可能是因为反斜杠。在转换之前尝试用“/”替换“\”。

这也可能是日期格式问题。根据排序规则等设置,“2012 年 1 月 2 日”可以解释为 1 月 2 日或 2 月 1 日。这不会导致问题,但是“2012 年 1 月 31 日”可能会导致类型转换错误错误排序规则,因为没有 31 个月。

于 2012-10-19T17:49:13.880 回答