registerwithgeodatabase and DBTUNE KEYWORDS

2368
5
02-15-2016 07:39 AM
EricVacher
New Contributor II

Hi,

We are on the way to migrate from 10.2.2 to a newer version and I'm trying to convert all our SDE command to arcpy.

But It seemed that all the fonctionnality we have with the SDE command line tools are not existing with the new arcpy tools.

(This give me the feeling ESRI is acting now like Microsoft with older release of Windows , like 3.0 to 3.1, XP to Vista : Deliver a not completly Develop set of tools and wait for client complains to react. Not really profesionnal and customers friendly).

Here is our situation :

We have multiple keywords in DBTUNE : one for ST_GEOMETRY with specific TABLESPACE definition, one for SDO_GEOMETRY with different TABLESPACE setting, etc...

With the registerwithgeodatabase tools (ArcMap / ArcCatalog) : no way to specify a DBTUNE Keywords.

with registerwithgeodatabse.py : is ther a way to set the DBTUNE Keywords ??? .

Those commands allways used the DEFAULT DBTUNE Keyword, but I want to specify a specific one.

Your help will be really appreciated.

Thank's

0 Kudos
5 Replies
StefanJaquemar
New Contributor III

It might help if you set the keyword in the environment settings

arcpy.env.configKeyword="ST_GEOMETRY"

See: Output CONFIG Keyword (Environment setting)—Help | ArcGIS for Desktop

I didn't test it, but it should work.

0 Kudos
EricVacher
New Contributor II

Thank's Stefan.

I try it, but in the SDE.LAYERS table, LAYER_CONFIG column value is 'DEFAULTS'.

here is my python script. I'm not a python specialist.

something wrong ?

import arcpy
arcpy.env.configKeyword="MY_KEYWORD"

# Set variables
inTable =

r"C:\Users\evacher\AppData\Roaming\ESRI\Desktop10.3\ArcCatalog\EDMCDD.sde\EDMC_GEOMT_REGN_ADMNS"

#Process: Use the CreateArcSDEConnectionFile function
arcpy.RegisterWithGeodatabase_management (inTable)

regards,

Eric.

0 Kudos
StefanJaquemar
New Contributor III

hi. it seems that this env-setting does not apply on this tool.

I understand that it might not work as you allready defined the geometry-type (geometry, geography in sql-server) with DB-Tools.

Why don't you create the featureclasses / the tables with ArcGIS-Tools?

Or as an alternative, if you would use the "Featureclass to Featureclass"-tool or the "Copy"-tool the keyword that you define will be used.

0 Kudos
EricVacher
New Contributor II

Hi Stephan.

Some informations to clarify my situation.

We have many tables with spatial geometry (SDO_GEOMETRY) and we are using 10.3.1 version of ESRI products.

As the installation of the geodatabase repository is not mandatory for ArcMap/ArcCatalog, we didn't have implemented it.

But some queries have a very long time before rendering a map, and some others failed.

The only response from ESRI support was « install the repository».

So I've installed it on a lab environment and i'm on the process testing this solution.

I have a good experience of older registering process (sdelayer -o ,.... and so on) but we try to use the new method (Tool box and Python) as the previous method will be discontinued (Still support by ESRI with 10.3.x, but no information for 10.4).

«Featureclass to featureclasse» tools will copy and, if desired ,transform the data on a different schema : this  is not what we want.

We just want it to be registered.

The copy tool act in the same way (duplication).

And what about if you want to unregister a layer ?

With the old tools, you can do «sdelayer -o delete .....», and  «sdetable -o unregister .....».

How do you realize these operations now ?

And when you register a new layer, previously you can specify the layer envelop with a specific SRID (-R SRID_number).

Now it seemed that the RegisterWithGeodatabase_managment.py command with calculate the layer after reading the entire table.

When you have a nullable spatial data, layer envelop is wrong. (To infinity... and beyond ) 

And when you register an empty spatial table, same thing : wrong layer envelop.

Have you faced this situation about wrong spatial envelop ?

Regards,

Eric

0 Kudos
StefanJaquemar
New Contributor III

From my experience the strategy in such scenarios with the newer releases must be changed in following direction.

  • If you have (spatial) tables that are maintained by non-esri software they usually don't need to be registered with the gdb. If you want them in your ArcGIS just use them directly (query layer).
  • If you have tables that are maintained by ArcGIS, create/define them directly with ArcGIS - Tools.

The "Register with geodatabase"-Tool does not work with empty spatial tables. You can't define the feature type (point, line, poly) with this tool.

sorry for long time not answering.

0 Kudos