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

简介: **简介:**在使用 `imp` 导入 dump 文件时,遇到错误 YAS-00218 string conversion failed。通过检查数据库字符集及使用折半查找法定位问题行,发现原始 dump 文件中存在乱码,导致导入失败。此问题影响版本 23.2.1.100。建议检查并修正源数据字符编码后再进行导入操作。

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

【关键字】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;
AI 代码解读

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;
AI 代码解读

END;

/

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

【影响范围】23.2.1.100

目录
打赏
0
1
1
0
57
分享
相关文章
【YashanDB知识库】YashanDB JDBC查询时抛出YAS-02094
【YashanDB知识库】YashanDB JDBC查询时抛出YAS-02094
【YashanDB知识库】kettle做增量同步,出现报错
【YashanDB知识库】kettle做增量同步,出现报错
【YashanDB 知识库】YAS-02547
【YashanDB 知识库】YAS-02547
【YashanDB知识库】YashanDB run.log中有slow log queue is full信息
【YashanDB知识库】YashanDB run.log中有slow log queue is full信息
【YashanDB知识库】审计表UNIFIED_AUDIT_TRAIL出现YAS-00220
【YashanDB知识库】审计表UNIFIED_AUDIT_TRAIL出现YAS-00220
【YashanDB 知识库】YMP 从达梦迁移到崖山,报错:不能识别文件路径,没找到 csv 文件
【YashanDB 知识库】YMP 从达梦迁移到崖山,报错:不能识别文件路径,没找到 csv 文件
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
【YashanDB知识库】YashanDB JDBC驱动查询时抛出io fail:Read timed out异常
【YashanDB 知识库】使用 Reverse 索引的解决自增序列做索引,插入性能大幅提升
【YashanDB 知识库】使用 Reverse 索引的解决自增序列做索引,插入性能大幅提升
【YashanDB知识库】数据库用户所拥有的权限查询
【YashanDB知识库】数据库用户所拥有的权限查询
【YashanDB知识库】YAS-05534 unsupport operation
【YashanDB知识库】YAS-05534 unsupport operation

热门文章

最新文章