dolphindb 表复制遇到的错误及解决方法

 

二个结构完全相同的表,一个有数据,一个是空的。当我用下面命令复制数据时遇到 错误:

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为什么会有这毛病?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值