About Me

Database and GIS Consultant.

Thursday, May 21, 2009

ERROR 999999 - A locator with this name does not exist.

Error: Getting below error when attempted to load a shapefile in the database via SDE using ArcCatalog:-

Failed to convert E:\point\county_map.shp.ERROR 999999: Error executing function. A locator with this name does not exist.
Failed to execute (CopyFeatures).

Environment: Oracle 10g (10.2.0.3) 32 bit, Windows 2003, ArcSDE9.2, ArcCatalog 9.2

Problem: When doing multiple attempts to load [and delete]shapefile(s) as feature class in the database, SDE doesn't clean it up when thefeature class(es) are deleted, hence some orphaned records were left behind inthe SDE repository. Hence it throws the error when attempted to load a shapefilein the same feature name. Its basically a constraint violation (CONSTRAINT_NAME='GDB_OC_UC'),but the error message that ArcCatalog throws is irrelevant and could divert fromcorrectly troubleshooting it.Solution: Consult with DBA before doing it, you are about tomodify SDE repository table(s), it is very risky to perform it without properknowledge, it might screw up your whole database. To be on a safer side, backupthe modifying tables or whole SDE schema before attempting to do so.

Connect in SQL*Plus as SDE user and perform the following:-

SQL> conn sde/****@db1

SQL> select TABLE_NAME from user_constraints where CONSTRAINT_NAME='GDB_OC_UC';

TABLE_NAME
------------------------------
GDB_OBJECTCLASSES

SQL> select NAME from sde.GDB_OBJECTCLASSES
> where upper(NAME) = 'COUNTY_MAP'
> and owner = 'MAP_OWNER';

NAME
------------------------------
county_map

SQL> delete from sde.GDB_OBJECTCLASSES where NAME='county_map';

1 row deleted.

SQL> commit;

Commit complete.

Now, the load of shapefile went smooth, like a baby's but.

No comments: