二个结构完全相同的表,一个有数据,一个是空的。当我用下面命令复制数据时遇到 错误:
dt_stockticka=loadTable("dfs://stockticka",`stockticka)
dt_stocktickm=loadTable("dfs://stocktickm",`stocktickm)
dataToAppend = select datetime, stockid, stock_nature, auction_vol, inst_dir, dde_big_net,
main_add, main_flow, star_level, bbr, retail_count, main_net
from dt_stockticka;
tableInsert(dt_stocktickm, dataToAppend);
错误:tableInsert(dt_stocktickm, loadText("/root/st.txt")) => The column [auction_vol] expects type of INT, but the actual type is DOUBLE. RefId: S05004
尝试转换也不行:
dataToAppend = select datetime, stockid, stock_nature, cast(auction_vol, INT) as auction_vol, inst_dir, dde_big_net,
main_add, main_flow, star_level, bbr, retail_count, main_net
from dt_stockticka;
tableInsert(dt_stocktickm, dataToAppend);
导出数据:
saveText(dataToAppend,"/root/st.txt")
导入:
tableInsert(dt_stocktickm,loadText("/root/st.txt"))
同样错误:The column [auction_vol] expects type of INT, but the actual type is DOUBLE.
最后一招:
先删除:dropDatabase("dfs://stocktickm")
这次不生成直接导入:
db = database(directory="dfs://stocktickm", partitionType=VALUE, partitionScheme=2024.02.01..2039.12.31)
pt=loadTextEx(dbHandle=db,tableName=`stocktickm, partitionColumns=`datetime, filename="/root/st.txt");
这次成功了。
不知道dolphindb为什么会有这毛病?