2015-02-03 4 views
2

Как я могу загрузить XML-файл, который находится на компьютере (назовем его рабочая станция) на сервер Basex, который работает на другом компьютере (сервере )?Загрузить XML-файл на сервер на другой машине

Чтобы загрузить 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

Предполагая, что -n означает, что вы, кажется, используют это означает, что и локальный клиент может фактически связываться с удаленным сервером и предполагая, что ваш XML-документ является автономным документом, я бы попробовал что-то вроде следующего (не тестировалось): с $ server, $ dbname, $ file и $ baseurl, определяемым как среда переменные:

(эхо CREATE DATABASE $ {DbName}; эхо ДОБАВИТЬ $ {BaseUrl }; cat $ {file}; echo EXIT) | basexclient -n сервер -d -w

Но в противном случае я бы использовать сервер Basex HTTP и использовать завиток или Wget отправить запрос PUT с файлом по адресу http://myserver.example.org:8984/webdav/mydb/myfile.xml (и, конечно же, в случае необходимости, я 'd использовать curl несколько раз, чтобы сделать базу данных, а затем добавить к ней данные).

 Смежные вопросы

  • Нет связанных вопросов^_^