oracle - 使用 PutSQL 插入 Oracle 表会返回 sql.generated.key 属性的 rowid 值,而不是生成的序列 id
问题描述
我们正在尝试将记录插入到 Oracle 表中PutSQL
,并且属性Obtain Generated Keys
设置为true
。NiFiDBCPConnectionPool
控制器服务配置为使用Oracle 12c
,而 JDBC 为ojdbc8.jar
.
属性的预期值sql.generated.key
应该是数字,但越来越rowid
像AAJV6hAAAAAB/qFAAA
。
那么我们是否需要在 Oracle 端进行任何配置设置以返回生成的序列 id 而不是rowid
?
请注意,对于 PostgreSQL,同样的工作方式与预期相同!
解决方案
据此,_
Oracle JDBC 驱动程序不会返回 id 列的值,而是返回 ROW_ID(标识特定行的伪列),以便您自己检索该值。
过去,Oracle 驱动程序是这样做的,因为以前的 Oracle 版本没有标识列。
所以我必须添加一个处理器来从rowid
.
推荐阅读
- wordpress - 如何更改 WordPress 以使用 Intranet 中的头像?
- javascript - 动态数组元素的求值顺序是否有保证?
- python - 我如何锁定提到的频道?不和谐.py
- python-3.x - argparser.ArgumentParser 在 python 2.7 和 python 3.6 之间变化?
- azure - JSON解析日志条目
- angular - 原理图工作流失败
- javascript - 为什么我的 json.dumps 没有将报价值转换为我的浏览器?
- regex - 在谷歌表格中运行用于条件格式的自定义公式仅格式化“应用于范围”中的第一个单元格
- unity3d - UNITY2D:在具有相同标签和相同图层的两个对象之间进行选择
- ios - 在 iOS 上通过 Spotify App Remote 的 SPTSession 进行身份验证时获取一个奇怪的刷新令牌