[gdal-dev] Ogr: ExecuteSQL with MSSQL and geometry column
benjamin.lux at maxsea.fr
Tue Jul 17 07:37:08 PDT 2012
I code an application with a warper C# of Ogr.
I have a MSSQL data base which work fine with Ogr (except this issue).
I have a table dbo.MY_TABLE with 3 fields (D, CHART_ID, WKB_GEOMETRY).
To minimise my acces to SQL Serveur (Driver MSSQLSpatial) I want to copy a
request SQL into a Spatial Layer (with a geometry column) based on a Memory
To obtain my layer I call ExecuteSQL().
string options = "Tables=dbo.MY_TABLE(WKB_GEOMETRY);GeometryFormat=wkb;"
serverDataSource = Ogr.Open("MSSQL:" + connectionString + options), 0);
string request = "SELECT * FROM MY_TABLE WHERE CHART_ID = 'ID'"
Layer serverLayer = serverDataSource.ExecuteSQL(request, null, "");
I see that my layer name is "SELECT", it have 39 features but my result
doesn't contain geometry column !
serverLayer.GetGeometryColumn() returns "" and serverLayer.GetGeomType()
And the layer serverLayer ( or a layer provide by a Memory Driver) have any
method "ChoseGeometryField" or "SetGeometryColumn" (or I have missed it).
If I call serverDataSource.GetLayerByName("MY_TABLE").GetGeometryColumn() it
work fine and result "WKB_GEOMETRY".
Any suggests ?
View this message in context: http://osgeo-org.1560.n6.nabble.com/gdal-dev-Ogr-ExecuteSQL-with-MSSQL-and-geometry-column-tp4988831.html
Sent from the GDAL - Dev mailing list archive at Nabble.com.
More information about the gdal-dev