之前很长一段时间,导出shapefile文件老是不能解锁,后缀为wr.lock及sr.lock的lock文件不能消除。
我是释放了要素类及游标等接口的:
System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor)
System.Runtime.InteropServices.Marshal.ReleaseComObject(featureClass)
在网上搜了许多资料,按照别人办法用了IWorkspaceFactoryLockControl接口,代码如下:
Dim ipWsFactoryLock As IWorkspaceFactoryLockControl
ipWsFactoryLock = wSpaceFactory
If ipWsFactoryLock.SchemaLockingEnabled Then
ipWsFactoryLock.DisableSchemaLocking()
End If
这样一来,sr.lock文件是可以清除的,但是wr.lock文件仍然固守阵地。后来经过反复探索理解,断定是数据中仍有未释放部分的缘故。结果真是,我用IFeatureBuffer来插入要素,到头来newFeatureBuffer对象没有释放。
加上行:System.Runtime.InteropServices.Marshal.ReleaseComObject(newFeatureBuffer)
大功告成,导出的数据没有lock锁定文件了。
shapefile文件锁定问题
时间: 2024-10-18 13:52:53