From 89682833a8a085dc15dce0ca069683e92e95672a Mon Sep 17 00:00:00 2001 From: lvfuyou Date: Mon, 18 Mar 2024 18:25:54 +0800 Subject: [PATCH] Update ObReaderUtils.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OceanBase oracle模式下需要使用position排序获取正确的联合主键顺序 --- .../plugin/reader/oceanbasev10reader/util/ObReaderUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/oceanbasev10reader/src/main/java/com/alibaba/datax/plugin/reader/oceanbasev10reader/util/ObReaderUtils.java b/oceanbasev10reader/src/main/java/com/alibaba/datax/plugin/reader/oceanbasev10reader/util/ObReaderUtils.java index d7b8f2ed..cca2f66c 100644 --- a/oceanbasev10reader/src/main/java/com/alibaba/datax/plugin/reader/oceanbasev10reader/util/ObReaderUtils.java +++ b/oceanbasev10reader/src/main/java/com/alibaba/datax/plugin/reader/oceanbasev10reader/util/ObReaderUtils.java @@ -154,12 +154,14 @@ public class ObReaderUtils { } else { schema = "(select sys_context('USERENV','current_schema') from dual)"; } + //OceanBase oracle模式下需要使用position排序获取正确的联合主键顺序 sql = String.format( "SELECT cols.column_name Column_name " + "FROM all_constraints cons, all_cons_columns cols " + "WHERE cols.table_name = '%s' AND cons.constraint_type = 'P' " + "AND cons.constraint_name = cols.constraint_name " + - "AND cons.owner = cols.owner and cons.OWNER = %s", + "AND cons.owner = cols.owner and cons.OWNER = %s " + + "order by cols.position " , tableName, schema); } LOG.info("get primary key by sql: " + sql);