# Save an OGR Layer coming from database

**URL:** <https://mapwindow.discourse.group/t/save-an-ogr-layer-coming-from-database/317>\
**Category:** Uncategorized\
**Created:** [October 29, 2019, 4:18am UTC](https://mapwindow.discourse.group/t/save-an-ogr-layer-coming-from-database/317 "2019-10-29T04:18:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mumair](https://avatars.discourse-cdn.com/v4/letter/m/a88e4f/32.png) [@mumair](https://mapwindow.discourse.group/u/mumair)\
**Post date:** [October 29, 2019, 4:18am UTC](https://mapwindow.discourse.group/t/save-an-ogr-layer-coming-from-database/317/1 "2019-10-29T04:18:10Z")

</div>

Hi,

I am looking at an option to save OGR layer loaded from SQL Server to a local Shapefile.  
Is there a way to achieve this? I tried following code but of no use

Shapefile shp = new Shapefile();  
shp = axMap1.get\_Shapefile(sqlOGRHandle);  
shp.SaveAs(@“C: \Users\Umair\Desktop\a.shp”, null);

---

<div class="post-metadata">

**Author:** ![pmeems](https://yyz2.discourse-cdn.com/free1/user_avatar/mapwindow.discourse.group/pmeems/32/9_2.png) [@pmeems](https://mapwindow.discourse.group/u/pmeems)\
**Post date:** [October 29, 2019, 8:12am UTC](https://mapwindow.discourse.group/t/save-an-ogr-layer-coming-from-database/317/2 "2019-10-29T08:12:24Z")

</div>

Please have a look at the example at [AddLayerFromDatabase()](https://www.mapwindow.org/documentation/mapwingis4.9/group __map__ layer__management.html#ga3672fae9774e0bbb917ab23e13855ebe)

---

<div class="post-metadata">

**Author:** ![mumair](https://avatars.discourse-cdn.com/v4/letter/m/a88e4f/32.png) [@mumair](https://mapwindow.discourse.group/u/mumair)\
**Post date:** [October 29, 2019, 10:11am UTC](https://mapwindow.discourse.group/t/save-an-ogr-layer-coming-from-database/317/3 "2019-10-29T10:11:40Z")

</div>

This wasn’t of much help but I have finally managed to fix it using following approach. Adding code for anyone who needs it 🙂

```
    private void toolStripStartEdit_Click(object sender, EventArgs e)
    {
        layer.OpenFromDatabase(CONNECTION_STRING, layerName, true);

        if (!layer.OpenFromDatabase(CONNECTION_STRING, layerName, true))
        {
            MessageBox.Show("Failed to open layer: " + layer.get_ErrorMsg(layer.LastErrorCode));
            return;
        }
        MessageBox.Show("Driver supports editing: " + layer.TestCapability(tkOgrLayerCapability.olcRandomWrite));
        if (!layer.get_SupportsEditing(tkOgrSaveType.ostSaveAll))
        {
            MessageBox.Show("Can't edit a layer: " + layer.get_ErrorMsg(layer.LastErrorCode));
            layer.Close();
            return;
        }
        //else
        //{
        axMap1.AddLayer(layer, true);
        _shpfile = layer.GetBuffer();
        _shpfile.InteractiveEditing = true;
        axMap1.CursorMode = tkCursorMode.cmEditShape;
        MessageBox.Show("Shapefile Loaded & Editing enabled");
        //}

    }

    private void ToolStripStopAndSaveEditings_Click(object sender, EventArgs e)
    {
        int count;
        var saveResults = layer.SaveChanges(out count);
        layer.Close();
        axMap1.CursorMode = tkCursorMode.cmPan;
        MessageBox.Show("Changes Saved Successfully");
        axMap1.Refresh();
    }
```

---

<div class="post-metadata">

**Author:** ![pmeems](https://yyz2.discourse-cdn.com/free1/user_avatar/mapwindow.discourse.group/pmeems/32/9_2.png) [@pmeems](https://mapwindow.discourse.group/u/pmeems)\
**Post date:** [January 5, 2022, 3:08pm UTC](https://mapwindow.discourse.group/t/save-an-ogr-layer-coming-from-database/317/4 "2022-01-05T15:08:54Z")

</div>


