Я использую BaseX, установленный на сервере в домашней сети, и пытаюсь получить к нему доступ, используя официальный BaseXClient с другого компьютера.
У меня также есть BaseX GUI, установленный на рабочем компьютере и использующий Webdav может получить доступ к базе данных на сервере.
Вот что у нас есть на данный момент:
from BaseXClient import BaseXClient
# create session
session = BaseXClient.Session('192.168.0.80', 1984, 'admin', 'admin')
try:
print("\n" + session.execute("list"))
print("\n" + session.execute("open testdb"))
print("\n" + session.execute("info db"))
Команда "list" правильно отображает доступность testdb
в качестве единственной базы данных. на сервере BaseX. Команда open также, кажется, завершается без проблем. Команда info, однако, затем выводит список базы данных с ее свойствами, НО БЕЗ ДОКУМЕНТОВ:
Database Properties
NAME: testdb
SIZE: 55 MB
NODES: 0
DOCUMENTS: 0
BINARIES: 15
TIMESTAMP: 2020-04-02T22:57:24.000Z
UPTODATE: true
Конечно, любые последующие запросы также ничего не возвращают.
Однако в базе данных у меня более 400 документов, к которым я могу получить доступ с помощью GUI. Я посмотрел код для BaseXClient и проверил документацию и примеры, но не смог найти никаких подсказок относительно того, что может go здесь не так.
После написания вышесказанного я заметил, что размеры файлов на сервере отличаются от того, что я вижу в папке webdav.
Таким образом, я подозреваю, что проблема в том, что изменения в папке webdav, к которой присоединен GUI на клиентском компьютере, не синхронизируют c с сервером. Однако, если проблема связана с webdav, то я все еще в растерянности относительно того, как использовать GUI на клиенте для управления изменениями на сервере, а затем для доступа к информации через python клиент.
Любая поддержка будет принята с благодарностью.