首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PutSql -日期格式错误

PutSql -日期格式错误
EN

Stack Overflow用户
提问于 2017-02-21 02:42:18
回答 1查看 1.6K关注 0票数 1

我正在尝试从'Teradata‘读取数据,并将其填充到'Oracle’数据库中。请在我的流程下面找到,

'ExecuteSQL‘-> 'SplitAvro’-> 'ConvertAvroToJSON‘-> 'ConvertJSONToSQL’-> 'PutSQL‘

错误消息:由于org.apache.nifi.processor.exception.ProcessException:,无法为sql.args.7.value更新数据库sql.args.7.value为'2999-12',无法转换为时间戳;路由到失败: org.apache.nifi.processor.exception.ProcessException: sql.args.7.value为'2999-12',无法转换为时间戳

似乎我需要格式化日期字段,然后才能将其填充到Oracle中。你能告诉我哪个处理器应该包含这个日期格式化逻辑吗?

进一步的分析表明,特定值被'ConvertJSONToSQL‘处理器截断了。'ConvertJSONToSQL‘处理器的输入值- "2002-02-04“处理的值- "2002-02”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-22 00:44:59

看起来你可能遇到了NIFI-2625。在即将发布的NiFi (由于NIFI-3430)中,您可以通过在属性中指定日期格式来解决此问题,但是这可能不会修复您看到的截断值。

如果您知道包含时间戳值的字段的名称(或JSON数组的索引,例如上面的"7“,它实际上是JSON数组中的索引6),则可以在ConvertJSONToSQL之前使用EvaluateJsonPath,以确保保留正确的原始值(假设您调用属性sql.args.7.original)。然后在ConvertJSONToSQL之后,您可以使用UpdateAttribute将不正确的/截断的值替换为正确的原始值,方法可能是将属性sql.args.7.value设置为${sql.args.7.original}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42352064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档