我在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表关联的日志文件。