zoukankan      html  css  js  c++  java
  • 【转】跨字符集导入由于字段长度不足报错的问题ORA-12899

    跨字符集导入由于字段长度不足报错的问题ORA-12899

    转自:http://blog.chinaunix.net/uid-14504139-id-4033461.html

    跨字符集导入由于字段长度不足报错的问题
    导入过程:ZHS16GBK->AL32UTF8
    导入中文字符存放长度问题
    增大导入表的精度

    IMP-00019: row rejected due to ORACLE error 12899
    IMP-00003: ORACLE error 12899 encountered
    ORA-12899: value too large for column "LDY"."EXP_TAB"."NAME" (actual: 15, maximum: 10)


    一种方法是修改字符集为ZHS16GBK后导入,然后再将字符集修改为AL32UTF8
    但是查询时会报,ORA-29275: partial multibyte character错误
    需要通过covert(char,'dest_char_set','source_char_set')进行转换。
    select id,convert(name,'UTF8','ZHS16GBK') from ldy.exp_tab_3;


    另一种比较便捷的方法是先导入表定义,再修改长度,再导入数据。

    1.先将表定义导入
    imp ldy/oracle file=exp_tab_ldy.dmp tables=exp_tab rows=n

    2.将刚导入的表定义修改,拼写脚本如下:
    SELECT 'ALTER TABLE ' || OWNER || '.' || TABLE_NAME || ' MODIFY (' ||
           COLUMN_NAME || ' ' || DATA_TYPE || '(' || CEIL(DATA_LENGTH * 1.5) ||
           '));'
      FROM DBA_TAB_COLUMNS
     WHERE OWNER = 'LDY'
       AND DATA_TYPE IN ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2')
       AND TABLE_NAME IN ('EXP_TAB');

    3.再将数据导入
    imp ldy/oracle file=exp_tab_ldy.dmp tables=exp_tab ignore=y

     

    如果表比较多,例如近1个小时内只有imp导入创建的表,可以使用如下脚本:
    SELECT 'ALTER TABLE ' || OWNER || '.' || TABLE_NAME || ' MODIFY (' ||
           COLUMN_NAME || ' ' || DATA_TYPE || '(' || CEIL(DATA_LENGTH * 1.5) ||
           '));'
      FROM DBA_TAB_COLUMNS
     WHERE OWNER = 'LDY'
       AND DATA_TYPE IN ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2')
       AND (OWNER, TABLE_NAME) IN
           (select distinct owner, object_name
              from dba_objects
             where object_type like 'TABLE%'
               and created > sysdate - 1/24);

  • 相关阅读:
    范仁义js课程---26、循环结构(while循环)
    解决Failed to parse SourceMap: http:xxx 问题
    范仁义js课程---25、switch选择结构
    范仁义js课程---24、条件运算符
    范仁义js课程---23、if选择结构小实例
    范仁义js课程---22、选择结构(if)
    javascript疑难问题---4、NaN的相等性判断
    范仁义js课程---21、js运算符优先级
    android L新控件RecyclerView详解与DeMo[转]
    Color Cube – 国产的优秀配色取色工具
  • 原文地址:https://www.cnblogs.com/fengaix6/p/8563535.html
Copyright © 2011-2022 走看看