向ArcSDE导入数据出现(ORA-00001: Unique contraint (SDE.GDB_OC_PKC) violated错误
2014-01-03 15:00
776 查看
向ArcSDE导入数据出现(ORA-00001:Unique
contraint (SDE.GDB_OC_PKC) violated错误
出现这个错误的原因很大程度上是因为误操作删除表空间、没有通过ArcGIS Desktop
删除featureclass、table导致被删除的图层在SDE系统表中留有残存信息,此时再向SDE中导入相同的数据表时就会出现ORA-00001:
Unique contraint (SDE.GDB_OC_PKC) violated错误。
解决方法一
在数据库中创建一个同名的数据表,然后在ArcCatalog下删除这个数据表,再向SDE里导入数据;如还报错,在向SDE导入数据前,先清理SDE系统表中残留的信息。
解决方法二
oracle序列产生的值在表gdb_objectclasses中已经有记录造成的。解决办法是进入plus/sql或用PL/SQL Developer链接oracle.
(1)
执行语句
SELECT MAX(id) FROM gdb_objectclasses,找出id的最大值,例如执行结果是MAX(ID) 为300
(2)执行语句,
SELECT registration_id FROM table_registry WHERE table_name = ”GDB_OBJECTCLASSES”,找到表“GDB_OBJECTCLASSES”注册ID号,例如ID号为4
(3)执行语句,
SELECT last_number FROM user_sequences WHERE sequence_name = ”R4“
找出序列R4的下一个值,如果第二步中的执行结果是5则这里是R5。例如执行结果是:LAST_NUMBER =128
(4)从上面的查询结果中可以看出,序列R4的下一个值是128,而表gdb_objectclasses中小于300的值都已经被占用了。所以就会出现异常Unique contraint (SDE.GDB_OC_PKC) violated。解决办法是不断增加序列R4的值,使其大于300;接下来就是疯狂执行下面的SQL语句,SELECT R3.NEXTVAL from dual
(5)在SDE中,选中sde连接后点鼠标右键,选择refresh。然后就可以再导数据了。
contraint (SDE.GDB_OC_PKC) violated错误
出现这个错误的原因很大程度上是因为误操作删除表空间、没有通过ArcGIS Desktop
删除featureclass、table导致被删除的图层在SDE系统表中留有残存信息,此时再向SDE中导入相同的数据表时就会出现ORA-00001:
Unique contraint (SDE.GDB_OC_PKC) violated错误。
解决方法一
在数据库中创建一个同名的数据表,然后在ArcCatalog下删除这个数据表,再向SDE里导入数据;如还报错,在向SDE导入数据前,先清理SDE系统表中残留的信息。
解决方法二
oracle序列产生的值在表gdb_objectclasses中已经有记录造成的。解决办法是进入plus/sql或用PL/SQL Developer链接oracle.
(1)
执行语句
SELECT MAX(id) FROM gdb_objectclasses,找出id的最大值,例如执行结果是MAX(ID) 为300
(2)执行语句,
SELECT registration_id FROM table_registry WHERE table_name = ”GDB_OBJECTCLASSES”,找到表“GDB_OBJECTCLASSES”注册ID号,例如ID号为4
(3)执行语句,
SELECT last_number FROM user_sequences WHERE sequence_name = ”R4“
找出序列R4的下一个值,如果第二步中的执行结果是5则这里是R5。例如执行结果是:LAST_NUMBER =128
(4)从上面的查询结果中可以看出,序列R4的下一个值是128,而表gdb_objectclasses中小于300的值都已经被占用了。所以就会出现异常Unique contraint (SDE.GDB_OC_PKC) violated。解决办法是不断增加序列R4的值,使其大于300;接下来就是疯狂执行下面的SQL语句,SELECT R3.NEXTVAL from dual
(5)在SDE中,选中sde连接后点鼠标右键,选择refresh。然后就可以再导数据了。
相关文章推荐
- 向ArcSDE导入数据出现(ORA-00001: Unique contraint (SDE.GDB_OC_PKC) violated错误
- ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- [ORACLE错误]ORA-00001: unique constraint (...) violated并不一定是数据冲突
- ORA-00001: unique constraint pk_****_key violated oracle imp 语句导入数据对oracle的数据字段操作顺序
- 【转】ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- ArcSDE复制数据时出现ORA-00955名称已由现有对象使用错误的解决方法
- ArcCatalog导入数据到SDE出错,错误代码Error 999999 Error executing function.Object name is not a regular identif
- Oracle插入数据出现ORA-01691错误
- oracle用imp/impdp导入数据时,ora错误乱码解决
- Weka连接数据库导入数据运行时出现错误:Unknown
- impdp导入数据无权限ORA-39213错误
- 搭建数据库环境--导入数据产生ORA-1659错误的一个原因
- ArcMap导入数据到ArcSDE报000597或者000224的错误
- SDE数据导入和其他功能错误(error-000372 999999)
- 利用navicat向mysql数据库导入数据时出现1062 - Duplicate entry '0' for key 'PRIMARY'错误的解决办法
- 【IMPDP】使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查
- [SSIS]使用第三方ODBC导入数据时出现错误DTS_E_INDUCEDTRANSFORMFAILUREONERROR
- 导入MySQL数据库数据出现错误
- ORA-00001: unique constraint (...) violated并不一定是数据冲突