问题分类】数据导入导出

【关键字】imp、YAS-00218 string conversion failed

【问题描述】使用imp导入dump文件报错YAS-00218 string conversion failed

【问题原因分析】

首先使用show parameter character查看数据库服务端字符集

使用折半查找的方法确定数据导入具体报错的某一行,可以参考下面的存储过程

DECLARE

    v_max_id NUMBER;

    v_min_id NUMBER;

    v_total_rows NUMBER;

    v_half_point NUMBER;

BEGIN

    SELECT 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_8NEW

        SELECT a.* FROM (

            SELECT * FROM RPT_REPORTTEMPLATE_7NEW WHERE REPORTTEMPLATEID <= v_half_point

        ) a ;


    COMMIT;

END;

/

经排查发现,原始数据库导出的dump文件中存在乱码,导致无法导入

【影响范围】23.2.1.100


YashanDB
1 声望0 粉丝

崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的...