---
title: 导入单表 CSV 文件时报错列不匹配 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于导入单表 CSV 文件时报错列不匹配 相关的常见问题和使用技巧，帮助您快速解决导入单表 CSV 文件时报错列不匹配 的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 导入单表 CSV 文件时报错列不匹配

更新时间：2023-11-14 07:11

适用版本： V3.1.x、V3.2.x、V3.3.x、V3.4.x、V4.0.x、V4.1.x、V4.2.x 内容类型：Troubleshoot  

## 问题现象

OceanBase Oracle 模式下，通过 ODC 导入 CSV 单表文件时，报错日志中提示导入的数据和列不匹配。

报错信息示例：

```shell
2021-12-08 10:11:36 [WARN] Retry Table: "T_3"  Partition: 0  Records: 2  Error: ORA-01722: invalid number
2021-12-08 10:11:36 [ERROR] T_3 loaded failed, as the max errors: 1 is exceeded
2021-12-08 10:11:36 [ERROR] Error occurred when loading data into "CHZ"."T_3"
java.sql.SQLException: ORA-01722: invalid number
at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1973) ~[oceanbase-client-2.2.6-SNAPSHOT.jar!/:?]
at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1838) ~[oceanbase-client-2.2.6-SNAPSHOT.jar!/:?]
at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1728) ~[oceanbase-client-2.2.6-SNAPSHOT.jar!/:?]
at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:359) ~[oceanbase-client-2.2.6-SNAPSHOT.jar!/:?]
at com.oceanbase.jdbc.JDBC4PreparedStatement.executeInternal(JDBC4PreparedStatement.java:229) ~[oceanbase-client-2.2.6-SNAPSHOT.jar!/:?]
at com.oceanbase.jdbc.JDBC4PreparedStatement.execute(JDBC4PreparedStatement.java:158) ~[oceanbase-client-2.2.6-SNAPSHOT.jar!/:?]
at com.oceanbase.jdbc.JDBC4PreparedStatement.executeUpdate(JDBC4PreparedStatement.java:190) ~[oceanbase-client-2.2.6-SNAPSHOT.jar!/:?]
at com.oceanbase.tools.loaddump.utils.JdbcUtils.executeUpdate(JdbcUtils.java:296) ~[ob-loader-dumper-2.3.1-SNAPSHOT.jar!/:?]
at com.oceanbase.tools.loaddump.writer.database.DatabaseWriter$RetryCallback.call(DatabaseWriter.java:550) ~[ob-loader-dumper-2.3.1-SNAPSHOT.jar!/:?]
at com.oceanbase.tools.loaddump.writer.database.DatabaseWriter$RetryCallback.call(DatabaseWriter.java:438) ~[ob-loader-dumper-2.3.1-SNAPSHOT.jar!/:?]
at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) ~[guava-retrying-2.0.0.jar!/:?]
at com.github.rholder.retry.Retryer.call(Retryer.java:160) ~[guava-retrying-2.0.0.jar!/:?]
at com.oceanbase.tools.loaddump.writer.database.DatabaseWriter.onEvent(DatabaseWriter.java:308) [ob-loader-dumper-2.3.1-SNAPSHOT.jar!/:?]
at com.oceanbase.tools.loaddump.writer.database.DatabaseWriter.onEvent(DatabaseWriter.java:71) [ob-loader-dumper-2.3.1-SNAPSHOT.jar!/:?]
at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:143) [disruptor-3.4.2.jar!/:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_275]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_275]
at java.lang.Thread.run(Thread.java:874) [?:1.8.0_275]

```

## 问题原因

ODC 内部使用 OBLOADER 组件导入数据，OBLOADER 在 list column 时按照 column_id 排序列。而部分版本的 OceanBase Oracle 模式下，select all_tab_cols 返回的列顺序与实际的顺序不匹配，导致导入时 CSV 配置列映射时匹配关系会出错，从而 INSERT 失败。

## 影响的版本

ODC V3.2.2 及之前的版本。

## 解决方法

1. 升级至 ODC V3.2.3 及之后的版本 ，ODC V3.2.3 版本已修复该缺陷。
 2. 如使用 ODC V3.2.3 之前的版本，可以配置错误的映射关系忽略。

上一篇

[导出 OceanBase Oracle 模式时间类型的数据后无法再次导入](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000262306)

下一篇

[Excel 格式文件导出 ODC 中的结果集失败](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000262308) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
