Db2 datetime值的字符串表示形式的语法不正确。SQLSTATE=22007

Db2 datetime值的字符串表示形式的语法不正确。SQLSTATE=22007,db2,informatica,Db2,Informatica,在使用db2数据库运行Informatica映射时,我面临日期格式问题 输入的生效日期为“2020-03-17 00:00:00.000000000” 但在传递到我在映射中调用的存储过程时,它正在以“03/17/2020 00:00:00.000000000”格式读取它,这会导致Informatica将以下异常抛出到Informatica会话日志中 Severity Timestamp Node Thread Message Code Message ERROR 4/

在使用db2数据库运行Informatica映射时,我面临日期格式问题

输入的生效日期为“2020-03-17 00:00:00.000000000”

但在传递到我在映射中调用的存储过程时,它正在以“03/17/2020 00:00:00.000000000”格式读取它,这会导致Informatica将以下异常抛出到Informatica会话日志中

Severity    Timestamp   Node    Thread  Message Code    Message
ERROR   4/2/2020 11:53:34 AM    ecrmqetl    TRANSF_1_1_1    CMN_1022    Database driver error...

CMN_1022 [ [IBM][CLI Driver][DB2/AIX64] SQL0180N  The syntax of the string representation of a datetime value is incorrect.  SQLSTATE=22007  sqlstate = 22007

Database driver error...
Function Name : ExecuteSP

Native error code = -180
Database driver error...
Function Name : ExecuteSP

Native error code = -180]

非常感谢您的帮助。

请尝试将输入字符串转换为预期的日期类型格式。

可能是错误的字符串转换。提供有关如何将此参数传递到例程以及如何在失败语句中使用此参数的确切数据类型和值的更多详细信息。无法从问题中准确判断映射如何向存储过程提供生效日期。如果映射正在将文字字符串“2020-03-17 00:00:00.000000000”转换为字符串“2020年3月17日00:00:00.000000000'然后您的映射被破坏。如果Db2存储过程参数datatype是TIMESTAMP,那么您的映射应该正确地从字符串转换为TIMESTAMP值。请注意,AIX上当前支持的Db2版本将正确处理字符串“2020-03-17 00:00:00.000000000”,并能够将其转换为时间戳数据类型。将其读取为字符串,然后像这样将其转换为日期(substr(date_str_col,1,20),'YYYY-MM-DD HH24:MI:SS')。