Oracle supports spatial data and so does SQL Server.

What are the things to consider if we have to migrate spatial data from Oracle to SQL Server? Are there any features in Oracle that are not there in SQL Server for supporting spatial data?

We're talking about data maintained by ESRI ArcGIS if that affect answer of the question.

2 Answers 2


As long as you have gdb connections to both you will be able to use esri (catalog) tools to move data between.

You will want to double check your CRS for support in both spatial databases.

If you don't use esri tools you will have to register your data in sde.
You simply mention that oracle supports spatial without saying that your data is in oracle spatial.

There are many things to consider if your data type is spatial (SDO) and especially if you are going to mssql-spatial.

It is possible to use both databasees without using "spatial", and unless you are developing applications and or processing huge amounts of data using the sdo functions I would suggest just using the esri binary format and allowing sde to manage the "spatial".

I am sure all of this sounds very confusing unless you already have some understanding of sde.

If not you can read more here...

ESRI Resource Center.

When You define a geodatabase in ESRI you have several choices for the rdbms. Oracle, db2, informix, mssql. among others.

SDE creates all the tables and relationships needed to maintain the data with ESRI. There are several choices for the data type for creating tables. ESRI binary is the normal default for most of these rdbms.

Care should be taken when deciding what format to utilize as access from other applications, and interfaces can be affected by this.

ESRI resources should be able to fill in the rest of the gaps.

  • I dont have much understand of all of this so thank you for guidance. so SDE saves data in Oracle in some binary format? Apr 11, 2011 at 9:15
  • correct in BLOBS (Binary Large Object)
    – Mapperz
    Apr 11, 2011 at 14:57

Creative solution: let Oracle produce the insert Statement for SQL Server.


select 'Insert into cc.yourGeometryTable (ID,OBJECTID,GEOMETRY) 
           values (''' || id || ''',' || OBJECTID || ', 
           geometry::STGeomFromText (''' || (sdo_GEOMETRY_col).get_wkt() || ''',2056));'  
           from oraGeometryTable;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.