oracle 11g用dmp导入数据时,显示违反唯一约束条件不能导入

解决方案 »

  1.   

    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options经由直接路径由 EXPORT:V11.02.00 创建的导出文件
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    . . 正在导入表          "ASF_PERSONAL_COMMENT"
    IMP-00019: 由于 ORACLE 错误 1 而拒绝行
    IMP-00003: 遇到 ORACLE 错误 1
    ORA-00001: 违反唯一约束条件 (ZJHQ_EGP.SYS_C0011058)
    列: bc3ffc6c46f698f50146fb163ee80018
    列: 0
    列: 4
    列: 2c9146a042b142a50142b142ceb80573
    列: 刘翠霞 
    列: posting
    列: usertask2
    IMP-00019: 由于 ORACLE 错误 1 而拒绝行
    IMP-00003: 遇到 ORACLE 错误 1
    ORA-00001: 违反唯一约束条件 (ZJHQ_EGP.SYS_C0011058)
    列: bc3ffc6c46f698f50146f9eb8d8c000d
    列: 65465465
    列: 2
    列: 2c9146a042b142a50142b142b21700a3
    列: 刘国均
    列: posting
    列: usertask3
    IMP-00019: 由于 ORACLE 错误 1 而拒绝行
    IMP-00003: 遇到 ORACLE 错误 1
    ORA-00001: 违反唯一约束条件 (ZJHQ_EGP.SYS_C0011058)
    列: ff80808147d709cb0147e7288bae0084
    列: 请人事处、直属机关党委提出意见,报杨副书记审示。
    列: 1
    列: 2c9146a042b142a50142b142b1200054
    列: 俞俊
    列: receipt
    列: usertask18
    IMP-00019: 由于 ORACLE 错误 1 而拒绝行
    IMP-00003: 遇到 ORACLE 错误 1
    ORA-00001: 违反唯一约束条件 (ZJHQ_EGP.SYS_C0011058)
      

  2.   

    这是导入数据库的语句:imp userid=zjhq_egp/oracle@localhost/orcl  file="zjhq_egp.dmp" log="t_zjhq_egp.log"  feedback=10000 buffer=100000000  fromuser=zjhq_egp touser=zjhq_egp grants=n ignore=y 
      

  3.   

    你确定原来表不存在?
    看看ZJHQ_EGP.SYS_C0011058这个约束是哪个字段上的唯一约束,确定下是否出现重复数据
    如果是导入一个用户的数据,将该用户删掉重建,再导入一次试试
      

  4.   

    导入语句里把ignore=y去掉。我怀疑你的表没删干净,建表语句执行失败,错误被ignore=y屏蔽了
      

  5.   

    1、重新创建用户,再尝试导入
    2、如果还报错,可以考虑在exp的时候,加点东西 INDEXES=N STATISTICS=NONE ROWS=Y CONSTRAINTS=N
      

  6.   

    dmp里应该包括表的创建。 把建的表都删除掉, 再导这多简单。 
      

  7.   

    你可以这样,你原来的表空间中这个表肯定不会存在违反唯一性的问题的,你把这个表空间导出到new.dmp中,然后新建一个表空间,把new.dmp导入看看报不报错,如果是导入到不同的表空间,你得先用sql语句过滤掉空表和没有记录的表,你得用UltraEdit打开你的new.dmp修改表空间的名称为你需要导入到的表空间名称,然后导入,一般情况下不会出现问题,我试过多次~