无效的日期时间格式

时间:2016-02-08 07:02:23

标签: sql db2 informatica-powercenter

我对powercenter消息代码有疑问:RR-4035。我有一个映射,其中我使用的是SQL覆盖查询,此错误在sql覆盖中。此映射失败并显示错误

  

' [IBM] [CLI驱动程序] CLIO113E SQLSTATE 22007:无效的日期时间格式   检测到,这是一个无效的字符串表示或值   指定'

> Database driver error: 

功能名称:获取 SQL STMNT:

select s.employee_record_id,s.employee_id,s.record_origin,
cnt.employee_contract_id,cnt.employee_contract_efctv_dt,cnt.employee_contract_term_dt,club.employee_club

from

employee_main_info s

inner join

(select 

employee_id,record_origin,employee_contract_term_dt,employee_contract_efctv_dt
from employee_perm

union
select 

employee_id,record_origin,employee_contract_term_dt,employee_contract_efctv_dt
from employee_temp
) cnt on s.employee_id=cnt.employee_id,

employee_club_data club

where

club.employee_id=s.employee_id

and (cnt.employee_contract_efctv_dt <=sysdate or cnt.employee_contract_efctv_dt<'2016-01-01') 
and s.employee_record_term_dt>sysdate;

原生错误代码= -99999

我已经尝试了所有的东西,我以前的映射运行正常,具有相同的日期时间格式但是这个映射失败了。我注意到的一件事是,如果我删除源限定符和目标之间的所有转换,映射成功并且数据被加载到目标,但是只要我在源限定符和目标之间放置任何查找或表达式,除了传递表达式,映射再次失败。

任何建议,对此有任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我们已经看到通过IBM Data Server ODBC / CLI驱动程序从带有时间戳列的表中进行选择时发生此错误。它只发生在一台Windows机器上,我们可以通过将区域设置主要选择从以色列更改为美国来消除错误。

虽然尚未测试,但可能是IBM DB2 ODBC配置选项DateTimeStringFormat或属性SQL_ATTR_DATE_FMT和SQL_ATTR_TIME_FMT可用于强制特定格式(例如JIS)。见https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0011525.html