datax 把oracle 数据同步到 oceanbase ORACLE 模式:java.lang.NumberFormatException: multiple points

【 使用环境 】 测试环境
【 OB or 其他组件 】 DATAX
【 使用版本 】 githup上最新版本 还有 20200725 版本都测试了
【问题描述】 oceanbasev10writer 报错: java.lang.NumberFormatException: multiple points
【复现路径】 执行datax job 导入数据 ( python bin/datax.py job/oracle_dw_t1.json )
【问题现象及影响】

源表和目标表 表结构:
create table t1 (id VARCHAR2(30));

                    "writer":{
                            "name":"oceanbasev10writer",
                            "parameter":{
                                    "column":[
                                            "ID"
                                    ],
                                    "connection":[
                                            {
                                                    "jdbcUrl":"||_dsc_ob10_dsc_||yangmintest:tenant01||_dsc_ob10_dsc_||jdbc:oceanbase://10.249.240.1:2883/yangmin",
                                                    "table":[
                                                            "t1"
                                                    ]
                                            }
                                    ],
                                    "obWriteMode":"insert",
                                    "password":"*******",
                                    "preSql":[
                                            "truncate table t1"
                                    ],
                                    "username":"yangmin"
                            }
                    }
            }
    ],
    "setting":{
            "speed":{
                    "channel":1
            }
    }

}

2022-10-12 07:48:13.020 [main] WARN Engine - prioriy set to 0, because NumberFormatException, the value is: null
2022-10-12 07:48:13.021 [main] INFO PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2022-10-12 07:48:13.022 [main] INFO JobContainer - DataX jobContainer starts job.
2022-10-12 07:48:13.023 [main] INFO JobContainer - Set jobId = 0
2022-10-12 07:48:13.259 [job-0] INFO OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:oracle:thin:@10.135.29.11:1521:edw2.
2022-10-12 07:48:13.286 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2022-10-12 07:48:13.286 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=yangmintest:tenant01:yangmin :url=jdbc:oceanbase://10.249.240.1:2883/yangmin
2022-10-12 07:48:13.485 [job-0] INFO DbUtils - value for query [SHOW VARIABLES LIKE ‘ob_compatibility_mode’] is [ORACLE]
2022-10-12 07:48:13.492 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2022-10-12 07:48:13.492 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=yangmintest:tenant01:yangmin :url=jdbc:oceanbase://10.249.240.1:2883/yangmin?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2022-10-12 07:48:13.514 [job-0] INFO OriginalConfPretreatmentUtil - table:[t1] all columns:[
ID
].
2022-10-12 07:48:13.514 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2022-10-12 07:48:13.514 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=yangmintest:tenant01:yangmin :url=jdbc:oceanbase://10.249.240.1:2883/yangmin?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2022-10-12 07:48:13.528 [job-0] INFO OriginalConfPretreatmentUtil - Write data [
INSERT INTO %s (ID) VALUES(?)
], which jdbcUrl like:[||dsc_ob10_dsc||yangmintest:tenant01||dsc_ob10_dsc||jdbc:oceanbase://10.249.240.1:2883/yangmin?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true]
2022-10-12 07:48:13.528 [job-0] INFO JobContainer - jobContainer starts to do prepare …
2022-10-12 07:48:13.529 [job-0] INFO JobContainer - DataX Reader.Job [oraclereader] do prepare work .
2022-10-12 07:48:13.529 [job-0] INFO JobContainer - DataX Writer.Job [oceanbasev10writer] do prepare work .
2022-10-12 07:48:13.529 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2022-10-12 07:48:13.529 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=yangmintest:tenant01:yangmin :url=jdbc:oceanbase://10.249.240.1:2883/yangmin?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2022-10-12 07:48:13.537 [job-0] INFO CommonRdbmsWriter$Job - Begin to execute preSqls:[truncate table t1]. context info:||dsc_ob10_dsc||yangmintest:tenant01||dsc_ob10_dsc||jdbc:oceanbase://10.249.240.1:2883/yangmin?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
2022-10-12 07:48:13.622 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2022-10-12 07:48:13.622 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=yangmintest:tenant01:yangmin :url=jdbc:oceanbase://10.249.240.1:2883/yangmin?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2022-10-12 07:48:13.634 [job-0] INFO DbUtils - value for query [show variables like ‘version’] is [3.2.3.0]
2022-10-12 07:48:13.635 [job-0] INFO JobContainer - jobContainer starts to do split …
2022-10-12 07:48:13.635 [job-0] INFO JobContainer - Job set Channel-Number to 1 channels.
2022-10-12 07:48:13.636 [job-0] INFO JobContainer - DataX Reader.Job [oraclereader] splits to [1] tasks.
2022-10-12 07:48:13.637 [job-0] INFO JobContainer - DataX Writer.Job [oceanbasev10writer] splits to [1] tasks.
2022-10-12 07:48:13.651 [job-0] INFO JobContainer - jobContainer starts to do schedule …
2022-10-12 07:48:13.654 [job-0] INFO JobContainer - Scheduler starts [1] taskGroups.
2022-10-12 07:48:13.655 [job-0] INFO JobContainer - Running by standalone Mode.
2022-10-12 07:48:13.660 [taskGroup-0] INFO TaskGroupContainer - taskGroupId=[0] start [1] channels for [1] tasks.
2022-10-12 07:48:13.665 [taskGroup-0] INFO Channel - Channel set byte_speed_limit to -1, No bps activated.
2022-10-12 07:48:13.665 [taskGroup-0] INFO Channel - Channel set record_speed_limit to -1, No tps activated.
2022-10-12 07:48:13.673 [taskGroup-0] INFO TaskGroupContainer - taskGroup[0] taskId[0] attemptCount[1] is started
2022-10-12 07:48:13.675 [0-0-0-writer] INFO OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2022-10-12 07:48:13.676 [0-0-0-writer] INFO ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
2022-10-12 07:48:13.676 [0-0-0-reader] INFO CommonRdbmsReader$Task - Begin to read record by Sql: [select id from t1
] jdbcUrl:[jdbc:oracle:thin:@10.135.29.11:1521:edw2].
2022-10-12 07:48:13.685 [0-0-0-writer] INFO ConcurrentTableWriterTask - this is oracle compatible mode, change database to YANGMIN, table to T1
2022-10-12 07:48:13.685 [0-0-0-writer] INFO ConcurrentTableWriterTask - Disable partition calculation feature.
2022-10-12 07:48:13.695 [0-0-0-writer] INFO CommonRdbmsWriter$Task - write mode: insert
2022-10-12 07:48:13.695 [0-0-0-writer] INFO ConcurrentTableWriterTask - writeRecordSql :INSERT INTO T1 (ID) VALUES(?)
2022-10-12 07:48:13.698 [0-0-0-writer] ERROR WriterRunner - Writer Runner Received Exceptions:
java.lang.NumberFormatException: multiple points
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1914) ~[na:1.8.0_261]
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122) ~[na:1.8.0_261]
at java.lang.Float.parseFloat(Float.java:451) ~[na:1.8.0_261]
at java.lang.Float.valueOf(Float.java:416) ~[na:1.8.0_261]
at com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask.init(ConcurrentTableWriterTask.java:136) ~[oceanbasev10writer-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.writer.oceanbasev10writer.OceanBaseV10Writer$Task.init(OceanBaseV10Writer.java:222) ~[oceanbasev10writer-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:44) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_261]
Exception in thread “taskGroup-0” com.alibaba.datax.common.exception.DataXException: Code:[Framework-13], Description:[DataX插件运行时出错, 具体原因请参看DataX运行结束时的错误诊断信息 .]. - java.lang.NumberFormatException: multiple points
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1914)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.lang.Float.parseFloat(Float.java:451)
at java.lang.Float.valueOf(Float.java:416)
at com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask.init(ConcurrentTableWriterTask.java:136)
at com.alibaba.datax.plugin.writer.oceanbasev10writer.OceanBaseV10Writer$Task.init(OceanBaseV10Writer.java:222)
at com.alibaba.datax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:44)
at java.lang.Thread.run(Thread.java:748)

【附件】

经过测试 源端 读是没有问题的, 可以成功写入 到本地文件中。 现在确认报错就是 目标端 oceanbasev10writer 写入的问题

建议使用新版datax(202209):Release datax_v202209 · alibaba/DataX · GitHub
该版本已对ob4位版本号进行了适配。

问题已解决,参看 datax 导入oceanabse oracle模式 oceanbasev10writer 报错