【发布时间】:2021-10-28 21:00:14
【问题描述】:
我有一个执行几十个 SQL 查询任务的 ETL 进程。
一个特别是不断向我的一个查询抛出错误:"ORA-01843: not a valid month",但是同样的查询在 PL/SQL 上正常运行。我什至用相同查询的版本创建了一个过程,它运行也很顺畅,但是从 pentaho 调用这个过程总是抛出同样的错误。请问,有人知道为什么 pentaho 会出现 PL/SQL 没有的查询错误吗?提前致谢!
【问题讨论】:
-
我觉得是工具问题。一些工具是宽容的,可以毫无错误地转换日期/时间/数字等。有些工具很敏感。我建议请正确转换为日期,不要依赖自动转换。如果这没有帮助,那么数据可能有错误的日期格式。
-
可能不同的 NLS 设置。或者你的存储过程初始化 NLS 环境,而 Kettle 没有
-
使用date/timestamp literal而不是看起来像日期的字符串,一切都应该没问题
-
PL/SQL 是一种编程语言。你是说桌面工具PL/SQL Developer?
-
请提供足够的代码,以便其他人更好地理解或重现问题。
标签: sql oracle etl pentaho kettle