Пробовал на трёх версиях GDAL:
x32 MSVC2008 2.1.3
x32 MSVC2010 2.1.3
x32 MSVC2008 1.11.4
Код примерно такой
Код: Выделить всё
using (DataSource orclDataSource = Ogr.Open("OCI:USER/PASSWORD@ORCL:TABLE", 1)) // Соединяется без проблем
{
Layer lr = orclDataSource.GetLayerByIndex(0);
int n = lr.GetFeatureCount(1); // Выдаёт верное количество контуров.
SpatialReference srs = lr.GetSpatialRef(); // Возвращает null
srs = new SpatialReference("");
srs.ImportFromEPSG(3857);
Feature feat = new Feature(lr.GetLayerDefn());
feat.SetField("ID", 100);
feat.SetField("FIELD1", "test");
Geometry gm = Geometry.CreateFromWkt("POLYGON ((10986 10385,10990 10389,10988 10392,10983 10388,10986 10385))");
gm.AssignSpatialReference(srs);
feat.SetGeometry(gm);
lr.CreateFeature(feat); // Выдаёт Access Violation in ogr_OCI.dll
}