所以我对这个东西还很陌生,但是我正在解决一些问题。我尝试做的是从平面文件源中拉出源文件,但我所有源文件中的日期都被格式化为YYYYMMDD,所以我插入了一个派生列任务,并创建了一个表达式,将日期为YYYYMMDD的所有列格式化为YYYY-MM-DD,如下所示:
LEFT(ISSUE_DT,4) + "-" + SUBSTRING(ISSUE_DT,5,2) + "-" + RIGHT(ISSUE_DT,2)
这一切都很好,除了它是DT_WSTR的数据类型,所以我放弃了一个列转换任务,将DT_WSTR转换为DT_DATE,但我一直收到以下错误:
[Columns Conversion [1]] Error: Data conversion failed while converting
column "ISSUE_DT Formatted" (258) to column "Copy of ISSUE_DT Formatted"
(16). The conversion returned status value 2 and status text "The value
could not be converted because of a potential loss of data.".
我尝试打开高级编辑器,导航到数据转换输出列,并尝试将Data Type Properties下的DataType更改为DT_DATE,但仍然出现相同的错误。
我遗漏了什么或做错了什么?
发布于 2018-09-22 00:16:36
某些日期的格式不是SSIS包所需的格式。也许个位数的月份或天数没有前导0。这种情况肯定会导致这个特定的错误。
以今天为例,如果一位数的月份或天数没有前导零,则会有2018918而不是20180918。在没有看到数据的情况下,我不能保证这就是确切的问题,但它是这样的。将字符串转换为日期时出错。所以继续上面的例子,在你的派生列ISSUED_DT格式化后,将有一个值'2018-91-18‘,这当然不是一个有效的日期,并导致错误。
https://stackoverflow.com/questions/52444881
复制相似问题