从某台机器上导出的DMP文件,在我的本机上导入,两台机器的字符集都是ZHS16GBK,我的本机在用户变量里也设置了NSL_LANG的值为 SIMPLIFIED CHIANESE_CHINA.ZHS16BGK。
但是导入的时候 仍然报错:
错误一:
错误IMP-00019: 由于 ORACLE 错误 1400 而拒绝行
IMP-00003: 遇到 ORACLE 错误 1400
ORA-01400: 无法将 NULL 插入 ("IRAP"."STB053_SQL"."Code")提示二:IMP-00041: 警告: 创建的对象带有编译警告本人的导入方法是根据原数据库的所有表空间,在本机全部新建表空间,用户也是一模一样的,导入的时候加入了参数 constraints=N 也没用,烦请坛友看看问题出在哪儿,查询字符集用的这个  Select * from sys.props$ where name=’NLA_CHARACERTERSET’ 得到ZHS16GBK的结果 与原数据库一致,头大了

解决方案 »

  1.   

    你的字段属性是不是 no null ?
      

  2.   

    你导出数据的时候,是进那个用户导的,如果你sqlplus登陆用户再导出,建用户必须一致。将你导入的语句贴出来呗,
    错误IMP-00019
    报错很明了,导入的数据有重复的数据。
    constriants表里有没有?
    如果表没有constraints, 用ignore=y.可以覆盖表,但如果表
    有constriants,那就要先删除原有的数据,在后在imp.否则会提示上面的错误.我的做法是删除已经存在的表用户和表空间,你自己再创建用户并授权,然后在imp,看行不行
      

  3.   

    你导出数据的时候,是进那个用户导的,如果你sqlplus登陆用户再导出,建用户必须一致。将你导入的语句贴出来呗,
    错误IMP-00019
    报错很明了,导入的数据有重复的数据。
    constriants表里有没有?
    如果表没有constraints, 用ignore=y.可以覆盖表,但如果表
    有constriants,那就要先删除原有的数据,在后在imp.否则会提示上面的错误.我的做法是删除已经存在的表用户和表空间,你自己再创建用户并授权,然后在imp,看行不行
      

  4.   

    ORA-01400: 无法将 NULL 插入 ("IRAP"."STB053_SQL"."Code")
    很明显不是字符集的问题,如果版本一样,检查一下你本地的库的表约束是否与原库一样呢?
      

  5.   

    字符集都是一样的 我今天又导入好几遍 有提示null无法插入的 我就先建表结构 修改使可以空值,新问题又来了 现在提示 无效的标识符??