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