I can connect to the Oracle Database with QGIS but spatial table/layers are not recognized as such.

I have read the following in the QGIS documentation:

Normally, an Oracle Spatial layer is defined by an entry in the USER_SDO_METADATA table. Source: QGIS Oracle connection documentation

But I have not found this in the database and I cannot edit it.

The layers were created with ArcMap (so with ArcSDE). I know under ArcMap the spatial layers are recognized. I found that the following tables has informations about spatial tables:

enter image description here enter image description here

Is it an option to overwrite USER_SDO_METADATA table ? Or an other solution?

  • 5
    It seems likely that you created tables using the SDE.ST_GEOMETRY, not SDO_GEOMETRY (this is the default unless you take proactive steps to change the configuration). But you also have the wrong metadata table name -- you should be looking for USER_SDO_GEOM_METADATA (note the GEOM). – Vince Apr 18 at 15:00
  • Yes, it has been created with ArcSDE (i added to the question). USER_SDO_GEOM_METADATA : Yes, i know but it's what it's writed in the QGIS documentation. I'don't know where i can check the value. I add the source to the post since i find it. – jlSta Apr 23 at 10:22
  • 1
    To the best of my knowledge, QGIS doesn't read SDE.ST_GEOMETRY, which won't have an entry in USER_SDO_GEOM_METADATA. You'd need to change your enterprise geodatabase configuration to use SDO_GEOMETRY then recreate the table before QGIS can see the table. It would be unwise to let QGIS modify rows in a versioned feature class. – Vince Apr 23 at 12:21
  • Thank you Vince for your relevant answer. I will evaluate our needs. – jlSta Apr 23 at 12:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.