首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【YashanDB 知识库】YAS-00218 string conversion failed.

【YashanDB 知识库】YAS-00218 string conversion failed.

作者头像
用户11441800
发布于 2025-02-21 11:25:25
发布于 2025-02-21 11:25:25
2130
举报

【问题分类】数据导入导出

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

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

【问题原因分析】

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

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

代码语言:javascript
复制
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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档