shapefile文件锁定问题

之前很长一段时间,导出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

shapefile文件锁定问题的相关文章

shapefile文件

基本信息编辑 ESRI公司的Shapefile文件是描述空间数据的几何和属性特征的非拓扑实体矢量数据结构的一种格式. 内容编辑 一个Shapefile文件最少包括三个文件: 主文件(*.shp).--存储地理要素的几何图形的文件. 索引文件(*.shx).--存储图形要素与属性信息索引的文件. dBASE表文件(*.dbf),--存储要素信息属性的dBase表文件. 除此之外还有可选的文件包括: 空间参考文件(*.prj). 几何体的空间索引文件(*.sbn 和 *.sbx). 只读的Shape

AE中Shapefile文件添加到SDE数据集

linder_lee 原文 AE中Shapefile文件添加到SDE数据集(c#) 主要完成用C#,通过AE将本地Shapefile文件导入到SDE的指定数据集下面. 首先说下思路: (1) 通过OpenFileDialog打开本地的Shp文件: (2)通过获取的Shp文件创建FeatureClass,获取shp的字段 IFields,并判断图层类别; (3)连接SDE中指定数据集,并创建新的FeatureClass: (4)将shp文件对应的 FeatureClass里的Feature复制到S

las点转为Shapefile文件,获取高程信息

将LiDAR点文件转换为Shapefile文件,方便ArcGIS9.3版本操作 const char *pSrcFileName = "D:\\LidarTestData\\1.las"; std::ifstream ifs;ifs.open(pSrcFileName, std::ios::in | std::ios::binary); if(ifs == NULL) { cout<<"null"<<endl; } liblas::Reade

linux程序设计——文件锁定(第七章)

7.2 文件锁定 这篇为linux的文件锁定,代码在文件锁定代码下载.文件锁定是多用户.多任务操作系统中一个非常重要的组成部分.程序经常需要共享数据,而这通常是通过文件来实现的.因此,对于这些程序来说,建立某种控制文件的方式就非常重要.只有这样,文件才可以通过一种安全的方式更新,或者说,当一个程序正在对文件进行写操作时,文件就会进入一个暂时状态,在这个状态下,如果另外一个程序尝试读这个文件,它就会自动停下来等待这个状态的结束. linux提供了多种特性来实现文件锁定,其中最简单的方式就是以原子操

PHP文件锁定写入实例分享

PHP文件锁定写入实例解析. 原文地址:http://www.jbxue.com/article/23118.html PHP文件写入方法,以应对多线程写入,具体代码: function file_write($file_name, $text, $mode='a', $timeout=30){ $handle = fopen($file_name, $mode); while($timeout>0){ if ( flock($handle, LOCK_EX) ) { // 排它性的锁定 $ti

NIO入门系列之第7章:文件锁定

第7章 文件锁定 7.1  概述 文件锁定初看起来可能让人迷惑.它似乎指的是防止程序或者用户访问特定文件.事实上,文件锁就像常规的 Java 对象锁-它们是劝告式的(advisory)锁.它们不阻止任何形式的数据访问,相反,它们通过锁的共享和获取赖允许系统的不同部分相互协调. 您可以锁定整个文件或者文件的一部分.如果您获取一个排它锁,那么其他人就不能获得同一个文件或者文件的一部分上的锁.如果您获得一个共享锁,那么其他人可以获得同一个文件或者文件一部分上的共享锁,但是不能获得排它锁.文件锁定并不总

VMware Workstation出现“文件锁定失败”

问题现象:电脑关机时挂起VMware Workstation后,第二天运行VMware Workstation出现“文件锁定失败”. 问题原因:在WIN的目录中有*.LCK文件,此文件是用来锁定当前虚拟机状态的. 问题处理:删除所有的*.LCK文件,重启VMware Workstation,运行刚才出问题的系统,一切正常了.

php开发之文件指针,文件锁定

(1) rewind() 函数 该函数将文件handle的指针设为文件流的开头,语法如下: bool rewind(resource handle) (2)fseek() 函数 fseek()函数实现文件指针的定位,语法如下: int fseek(resource handle,int offset[,int whence]) handle 参数为要打开的文件 offset为指针位置或者相对whence的参数的偏移量,可以是负值. whence 包括以下三种: a,SEEK_SET,位置等于of

使用OpenGL绘制 shapefile文件 完成最基本的gis操作

主要内容概述 1.解析shapefile(.shp)文件.‘ 2.将经纬度数据按照墨卡托投进行投影(调用proj.4库)完成. 3.将数据用OpenGL的方式进行绘制. 上述3方面只是完成初步的绘制,对于要完成一个复杂的地理信息系统还有很大的差距, 下面介绍我设计的简单的地理信息框架(用于交流,进步).先上个图,根据图来说更加易懂. 其中地图框架中包含多个物理地理图层,是真实存在的图层,所有在该图层下的数据都会被绘制到图层上(即一张图片). 物理图层中包含了多个逻辑图层(Layer),是为了方便