日期:2014-05-17  浏览次数:20989 次

IMP导入出错,求助
从某台机器上导出的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的结果 与原数据库一致,头大了

------解决方案--------------------
你的字段属性是不是 no null ?
------解决方案--------------------
你导出数据的时候,是进那个用户导的,如果你sqlplus登陆用户再导出,建用户必须一致。

将你导入的语句贴出来呗,
错误IMP-00019
报错很明了,导入的数据有重复的数据。
constriants表里有没有?
如果表没有constraints, 用ignore=y.可以覆盖表,但如果表
有constriants,那就要先删除原有的数据,在后在imp.否则会提示上面的错误.

我的做法是删除已经存在的表用户和表空间,你自己再创建用户并授权,然后在imp,看行不行
------解决方案--------------------
你导出数据的时候,是进那个用户导的,如果你sqlplus登陆用户再导出,建用户必须一致。

将你导入的语句贴出来呗,
错误IMP-00019
报错很明了,导入的数据有重复的数据。
constriants表里有没有?
如果表没有constraints, 用ignore=y.可以覆盖表,但如果表
有constriants,那就要先删除原有的数据,在后在imp.否则会提示上面的错误.

我的做法是删除已经存在的表用户和表空间,你自己再创建用户并授权,然后在imp,看行不行
------解决方案--------------------
ORA-01400: 无法将 NULL 插入 ("IRAP"."STB053_SQL"."Code")
很明显不是字符集的问题,如果版本一样,检查一下你本地的库的表约束是否与原库一样呢?