我在dolphindb中创建了一个mvcctable并将其保存到磁盘上。但是当我尝试删除表文件夹和表文件时,失败了,因为log.bin是“open”的并且正被dolphindb.exe使用。如何在不关闭dolphindb服务器的情况下删除表文件夹?我的dolphindb版本是windows64 v0.95.3。

def dropMvccTable(WORK_DIR,tableName){
    if(exists(WORK_DIR+"/"+tableName)){
        try{
        rmdir(WORK_DIR+"/"+tableName,true)
        rm(WORK_DIR+"/"+tableName+".tbl")
        rm(WORK_DIR+"/"+tableName+".sym")
        }catch(ex){}
        }
    }
WORK_DIR="H:/DolphinDB/Data"
d=1..10000000
str=take(`ABC`JDK`KILL`PEN,10000000)
price=1.23+0..9999999
temp=table(id,str,price)
tt=mvccTable(1:0,`id`str`price,[INT,SYMBOL,DOUBLE],WORK_DIR,"tt")
tt.append!(temp)

dropMvccTable(WORK_DIR,"tt")

最佳答案

请在删除前释放MVCC表。

tt = NULL

该表的发布将关闭与mvcc表关联的日志文件。

09-04 13:31