**【问题分类】**数据导入导出
**【关键字】**imp、YAS-00218 string conversion failed
**【问题描述】**使用imp导入dump文件报错YAS-00218 string conversion failed
【问题原因分析】
首先使用show parameter character查看数据库服务端字符集
使用折半查找的方法确定数据导入具体报错的某一行,可以参考下面的存储过程
DECLAREv_max_id NUMBER;v_min_id NUMBER;v_total_rows NUMBER;v_half_point NUMBER;BEGINSELECT MAX(REPORTTEMPLATEID), MIN(REPORTTEMPLATEID), COUNT(*) INTO v_max_id, v_min_id, v_total_rows FROM RPT_REPORTTEMPLATE_7NEW;v_half_point := CEIL((v_min_id+v_max_id) / 2.0); -- 计算应该插入的行数的一半(向上取整)-- 插入前一半数据INSERT INTO RPT_REPORTTEMPLATE_8NEWSELECT a.* FROM (SELECT * FROM RPT_REPORTTEMPLATE_7NEW WHERE REPORTTEMPLATEID <= v_half_point) a ;COMMIT;END;/
经排查发现,原始数据库导出的dump文件中存在乱码,导致无法导入
**【影响范围】**23.2.1.100