如何删除被锁定的MDB工作空间?无法先解锁工作空间

        一个写在cad中的插件,将cad数据写入access个人地理数据库,在写入完毕后释放了所有用到的com,
            ComReleaser.ReleaseCOMObject(ipWsFactory);
ComReleaser.ReleaseCOMObject(pWorkSpace);
ComReleaser.ReleaseCOMObject(ipWsFactoryLock);

ComReleaser.ReleaseCOMObject(featureClass);
ComReleaser.ReleaseCOMObject(geometry);
listUsedCassEntity = null;
GC.Collect();
 
并且用IWorkspaceFactoryLockControl解了锁,但ldb文件还是存在,无法删除mdb工作空间。
            IWorkspaceFactory ipWsFactory = new AccessWorkspaceFactoryClass();
IWorkspace pWorkSpace = ipWsFactory.OpenFromFile(saveMDBPath, 0);
IWorkspaceFactoryLockControl ipWsFactoryLock = null;
try
{
//关闭资源锁定
ipWsFactoryLock = (IWorkspaceFactoryLockControl)ipWsFactory;
if (ipWsFactoryLock.SchemaLockingEnabled)
{
ipWsFactoryLock.DisableSchemaLocking();
}
}
catch (System.Exception ex)
{
fmeLogFile_.LogMessageString(" 解除数据库锁失败!" + ex.ToString(), FMEOMessageLevel.Inform);
return;
}
        用File.delete删除时报cad占用;用IDataset删除时报com错误。
锁文件.png
已邀请:

要回复问题请先登录注册