Select to view content in your preferred language

Unregistering a Spatial View

6073
6
Jump to solution
03-09-2018 05:30 AM
PhilippeChessel1
Occasional Contributor

Hi ,

With ArcSDE Geodatabase (10.1) there was a command line to unregister a spatial table or view.

At 10.6 , there is not anymore the sde command line. So I am using the Geodatabase Register tool to Register an SQL Spatial View in the Geodatabase . That is working fine.

I can not see a Unregister tool in the ArcCatalog toolbox and python ?

Is it not needed anymore to Unregister s Spatail View when the SQL View is drop outside of ArcCatalog ?

Philippe Chessel

1 Solution

Accepted Solutions
VinceAngelo
Esri Esteemed Contributor

ArcGIS has never had an "unregister" option for geodatabase objects.  There was sdelayer -o delete  in the ArcSDE command-line tools, but that has ALWAYS corrupted geodatabase metadata, and inappropriate use like this was one of the reasons the entire command-line toolset was deprecated.

The only supported way to "unregister" a view is to delete it from Desktop/Pro/arcpy, after which you can recreate with SQL and re-register (if you must). 

ALTERing a view could corrupt geodatabase metadata; once registered, you really should not alter a view or table via SQL.

- V

View solution in original post

6 Replies
George_Thompson
Esri Notable Contributor

You may need to delete the view in ArcCatalog in order to remove if from the Geodatabase. If you do it on the RDBMS side, it may leave an orphaned entry.

You are correct that there is no longer an "unregister" tool.

The data in registered or unregistered views cannot be edited from ArcGIS. Once you register a view with the geodatabase, you should not edit its definition or the data it contains outside ArcGIS.

Register a table or view with the geodatabase—ArcGIS Help | ArcGIS Desktop 

Geodatabase

--- George T.
PhilippeChessel1
Occasional Contributor

We are currently migrating an ESRI Enterprise Environment from Oracle to SQL Server (then Azure).

And I script a lot of the migration using ArcPy, to be able to re-run it as needed.

So it is a lot more convenient and efficient to create all the Spatial Views in the SQL Server/Studio environment and then use ArcPy to Register, Grant ....

So I just wanted to add the unregister Feature Class (View) before recreating the Views to be sure that geodatabase is clean.

As  don't know what the Register Views add in the geodatabase dictionary (?) ,

I can then only assume that when you ALTER a View in SQL Server, the related Spatial View does not need to be Registered again

0 Kudos
VinceAngelo
Esri Esteemed Contributor

ArcGIS has never had an "unregister" option for geodatabase objects.  There was sdelayer -o delete  in the ArcSDE command-line tools, but that has ALWAYS corrupted geodatabase metadata, and inappropriate use like this was one of the reasons the entire command-line toolset was deprecated.

The only supported way to "unregister" a view is to delete it from Desktop/Pro/arcpy, after which you can recreate with SQL and re-register (if you must). 

ALTERing a view could corrupt geodatabase metadata; once registered, you really should not alter a view or table via SQL.

- V

PhilippeChessel1
Occasional Contributor

Thanks for these details Angelo.

So will adopt below workflow from now:

Initially:

   1. Create the View is SQL rdbms

   2. Register the View with ArcGIS

Then when altering is needed:

   1. Delete the view with ArcGIS

   2. Recreate the View in SQL rdbms

   3. Register the View with ArcGIS

MarkoPolo
Occasional Contributor

Another frustrating example of incompetence. 

In this case, the only plausible rationale to not have a complimentary api function is laziness.

This particular limitation, has led me to write a data sync process between stores using a drop/create flow, instead of a simple patch flow. So thank you for wasting hundreds of hours of compute/$ esri.