首页 > 解决方案 > 如何解决信息 - 不是有效月份错误?

问题描述

运行使用 Oracle 数据库视图作为源的 PowerCenter 会话时,会话失败并出现以下错误之一:

ORA-01843: 不是一个有效的月份。

在 Sql 开发人员中,它运行没有任何问题

列:Report_date:数据类型:日期。

在映射参数变量中定义为字符串

使用参数文件和控制表动态传递报告日期

从 ABC 中选择 * 其中 report_date=to_char(31-MAR-21,'DD-MON-RR')

--错误:无效月份

你能建议一下吗

标签: informatica-powercenter

解决方案


您需要在 infa 映射参数周围加上单引号。像这样 -

首先计算 Report_Date 并将值以正确的格式放入 infa 参数文件中。您也可以使用控制表。但是您需要从中创建一个参数文件。参数文件应该看起来像

[folder.workflow.session]
$$Report_Date='21-Oct-2021'

然后在映射中,您可以在源限定符中将其称为 -

Select * from ABC Where report_date=to_char('$$Report_Date','DD-MON-RR')

单引号将确保您的数据作为字符串传递。

现在,如果您不想使用参数文件,您可以使用控制文件作为新的源,并与上面的 SQL 连接以获得所需的结果。但第一种方法更快。


推荐阅读