Skip to main content

Hi,

When we try to create a new feature class using the Esri Geodatabase (ArcSDE Geodb) writer, we get the following error: 

Geodatabase Writer: Creating feature class `OBJ.Duikers_2017'
An error occurred while attempting to create the feature class 'OBJ.Duikers_2017'. The error number from ArcObjects is: '-2147216072'. The error message from ArcObjects is: {Underlying DBMS error gORA-13224: geen tolerantie opgegeven voor laag in USER_SDO_GEOM_METADATA
ORA-06512: in "MDSYS.MD", regel 1723 ORA-06512: in "MDSYS.MDERR", regel 17
ORA-06512: in "MDSYS.SDO_GEOM_TRIG_INS1", regel 39 ORA-04088: Fout bij uitvoering van trigger 'MDSYS.SDO_GEOM_TRIG_INS1'.]}
A fatal error has occurred. Check the logfile above for details

I think the correct translation for the ORA-13224 message is:

ORA-13224: zero tolerance specified for layer in USER_SDO_GEOM_METADATA

In  you can find the sql statements that are executed by the trigger MDSYS.SDO_GEOM_TRIG_INS1 that raises the error.

The problem seems to be that no tolerance value is provided when a row for the new table is inserted into USER_SDO_GEOM_METADATA.

So our question is: Where can we specify a tolerance value in the writer?

Willy

In the DBTUNES table the keyword DEFAULTS has parameters SDO_TOLERANCE_1 = 0.000500 and SDO_TOLERANCE_2 = 0.000500. Isn't this the default value, when no value is provided?

 


HI Willy,

DBTUNES is a ESRI table.

The MDSYS.USER_SDO_GEOM_METADATA is an Oracle table used for creating spatial indexes.

Check this query:

Select * from MDSYS.USER_SDO_GEOM_METADATA where TABLE_NAME = 'DUIKERS_2017';

That should return the required information (including the tolerance in X and Y.

If it returns invalid information, delete the record.

If it returns no records, you can use FME (in the table parameters) to create the record (or use SQL).

Hope this helps.

Erik Jan


Is it possible that the Geodatabase Feature Type - Configuration Keyword is not using DEFAULTS and is set to another keyword that doesn't have the SDO_TOLERANCE's set properly? Or has the DEFAULTS been changed or removed?

I have seen this error before but it was old software... what versions of Esri, Oracle and FME are at play here?

 

Certainly confirm your DBTUNE table for DEFAULTS and SDO_TOLERANCE' and ensure the feature type Configuration Keyword (Advanced parameter) is correctly set.


Thank you Steve and Erik Jan!

We are working with ArcSDE 10.3.1, Oracle 10.2.04, FME Desktop 2016.1.0.1 (20160516 - build 16494).

@SteveAtSafe: I don't see 'Configuration keyword' as a parameter in my writer. See attached screenshot.

@erik_jan:

Select * from MDSYS.USER_SDO_GEOM_METADATA where TABLE_NAME = 'DUIKERS_2017';

doesn't return any results. I'm going to try to create the record in

USER_SDO_GEOM_METADATA

with an SQL statement.


@erik_jan I've added this statement to 'SQL Statement To Execute Before Translation':

insert into user_sdo_geom_metadata (table_name,column_name,diminfo,srid) values ('HEGGENTEST','SHAPE', sdo_dim_array(sdo_dim_element('X',206911,278027,0.0005),sdo_dim_element('Y',540346,621877,0.0005)),28992)

The metadata was added to MDSYS.USER_SDO_GEOM_METADATA and the feature class was created. Everything seems to work fine!

But I see a new error message in the log. Can I ignore this message? Could you tell me why I am getting this error message?


@erik_jan I've added this statement to 'SQL Statement To Execute Before Translation':

insert into user_sdo_geom_metadata (table_name,column_name,diminfo,srid) values ('HEGGENTEST','SHAPE', sdo_dim_array(sdo_dim_element('X',206911,278027,0.0005),sdo_dim_element('Y',540346,621877,0.0005)),28992)

The metadata was added to MDSYS.USER_SDO_GEOM_METADATA and the feature class was created. Everything seems to work fine!

But I see a new error message in the log. Can I ignore this message? Could you tell me why I am getting this error message?

If the SQL is executed you can ignore the message.

 

Do you have a 64 bit Oracle client (that could cause this message)?.

 

Be aware: running the same workspace again will cause an Oracle error (you can not insert the same record in the USER_SDO_GEOM_METADATA twice (duplicate keys)!

 

 


Reply