使用 Informatica Cloud 将 Csv 的字符串日期值映射到 mySql 数据库中的列

Map String date value of a Csv to a column in mySql database using Informatica Cloud

我正在进行数据集成项目以在 mySql 中创建数据仓库。我有几个 Csv/flat 文件要摄取到 Informatica Cloud 中,这些文件将填充 mySql 数据库中的目标 table(目标 table 已创建)。

Csv 文件包含与日期时间相关的列,但它们是字符串格式 (MM/DD/YYYY HH:MM),我无法通过 Informatica Cloud 将它们传递到 mySql 数据库table秒。 mySql 数据库中的列格式为 YYYY-MM-DD HH:MM:SS,因为数据类型是日期时间。

我尝试了不同的策略,将目标列的数据类型保持为 datetime,有时是 varchar。

我在进行不同更改的不同尝试中遇到以下错误。

*Transformation [Expr_DSS_0010LY0I000000000002_1] had an error evaluating output column [SystemModstamp_OUT]. Error message is [<<Expression Error>> [TO_DATE]: invalid string for converting to Date... t:TO_DATE(u:TO_CHAR(t:TO_DATE(u:'5/30/2013 12:26',u:'mm/dd/yyyy hh:mi'),u:'yyyy-mm-dd hh:mm'),u:'MM/DD/YYYY HH24:MI:SS')].

转换 [Expr_DSS_0010LY0I000000000002_1] 在评估输出列 [CreatedDate_OUT] 时出错。错误消息是 [<> [TO_DATE]: 转换为日期的字符串无效... t:TO_DATE(u:'6/24/2008 18:23',u:'mm/dd/yyyy hh24:mi:ss')]. 转换 [Expr_DSS_0010LY0I000000000002_1] 评估输出列 [CreatedDate_OUT] 时出错。错误消息是 [<> [TO_DATE]: 转换为日期的字符串无效... t:TO_DATE(u:TO_CHAR(t:TO_DATE(u:'6/24/ 2008 18:23',u:'mm/dd/yyyy hh24:mi'),u:'YYYY-MM-DD hh:mm:ss'),u:'MM/DD/YYYY HH24:MI')].*

我也尝试了与 Informatica Cloud (Csv datetime) 相关的文档,但没有得到任何具体的解决方案。

如果有人能提供帮助,我将非常高兴。

提前致谢。

一个 TO_DATE 应该可以工作

TO_DATE(input_date_field,'mm/dd/yyyy hh24:mi')

我刚刚自己解决了完全相同的问题。 这个没有什么好办法,我就解释一下我是怎么做的:

基本上我将日期列视为电源中心的字符串。 IE。 我将所有日期列的目标定义仅在 PC 中更改为 varchar

SQ,期望其属性的所有内容都是字符串。 mysql DB 中的物理定义仍然是 datetime

对我来说这很有效。希望它也适合你。祝你好运!!