Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
642 views
in Technique[技术] by (71.8m points)

2台服务器,其中1台升级后,远程连接另一台执行脚本时报错

我2台服务器,原来都装了DolphinDB database单节点服务,版本是1.00.12,现在我升级了一台到1.10.16版本。然后GUI连上这一台执行以下脚本,

def dropTest(){
    tbl=table(1..3 as id,`a`b`c as name)
    tbl.drop!(`name)
    return tbl
}
handler=xdb("192.168.1.13",19111,`admin,`123456)
remoteRun(handler,dropTest)

出现下列提示:

remoteRun(handler, dropTest) => Failed to deserialize user defined anonymous function

但这代码在我升级之前是没问题的,请问新版本有什么改动么?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

上述函数dropTest定义在本地节点上,序列化后传到远程节点运行。一般要求新版本能兼容旧版本,但旧版本不能运行新版本的函数,这是正常的。
用户手册,remoterun有如下图所示几种方法:
image.png

可试试如下所示代码,即在远程节点上执行脚本。

script="
def dropTest(){
    tbl=table(1..3 as id,`a`b`c as name)
    tbl.drop!(`name)
    return tbl
}
dropTest()"
handler=xdb("115.239.209.224",19111,`admin,`123456)
remoteRun(handler,script)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...