将XML文件上载到另一台机器上的服务器

时间:2015-02-03 10:42:42

标签: upload remote-server basex

如何将驻留在计算机上的XML文件(让我们称之为工作站)上传到另一台计算机( server )上运行的BaseX服务器上?

要将XML文件上传到工作站上的BaseX服务器,我使用

basexclient -n localhost -d -w -c "CREATE DATABASE ${db_name} ${file}"

当主机名从localhost更改为server时,此命令将失败并显示

org.basex.core.BaseXException: Resource "[complete FILE path]" not found.

IIUC,发生错误是因为此命令本身不上传XML文件,而只是要求服务器从路径${file}读取它。然后该命令失败,因为服务器上没有${file},但仅在工作站上。

我应该使用什么命令将XML文件上传到远程服务器?

(显然没有将文件复制到服务器,然后在服务器上本地执行命令。)

1 个答案:

答案 0 :(得分:1)

假设-n表示您似乎使用它的意思,并且本地客户端实际上可以与远程服务器通信,并且假设您的XML文档是一个独立的文档,我会尝试像以下(未测试),将$ server,$ dbname,$ file和$ baseurl定义为环境变量:

  

(echo CREATE DATABASE $ {dbname};   echo ADD TO $ {baseurl};   cat $ {file};   echo EXIT)| basexclient -n myserver -d -w

但是否则我会使用BaseX HTTP服务器并使用curl或wget将带有文件的PUT请求发送到地址http://myserver.example.org:8984/webdav/mydb/myfile.xml(当然,如果需要,我会多次使用curl来制作数据库,然后向其添加数据)。