Проблемы с работой Libre Office Base на сетевом диске

Автор Dja, 18 марта 2023, 00:39

0 Пользователи и 1 гость просматривают эту тему.

Dja

Здравствуйте, ранее разработанная база данных на Libre Office Base работает локально, на рабочем столе в линуксе, но не работает на общем сетевом диске. Введенные данные не сохраняются, отчёты не просматриваются. Пример ошибки  при просмотре отчёта, прикладываю фотку, хотя локально все ок. Может у кого была такая же проблема, что на сетевом диске выделывается и не хочет работать. Помогите пожалуйста решить проблему эту.

economist

Скриншот в виде распечатки - супер, но дальше ничего не понятно:
- ODB использует движок (слева внизу) - HSQL или какой?
- К сетевому диску доступ по какому протоколу? SMB или NFS?
- на фото виден обрывок макроса в IDE, при вводе данных в БД и открытии (стандартных-Base отчетов, не Sun/Oracle Report Builder) - то макросы не задействованы. Значит пользователь что-то не договаривает.
 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Dja

Цитата: economist от 18 марта 2023, 20:53Скриншот в виде распечатки - супер, но дальше ничего не понятно:
- ODB использует движок (слева внизу) - HSQL или какой?
- К сетевому диску доступ по какому протоколу? SMB или NFS?
- на фото виден обрывок макроса в IDE, при вводе данных в БД и открытии (стандартных-Base отчетов, не Sun/Oracle Report Builder) - то макросы не задействованы. Значит пользователь что-то не договаривает.
 

1) HSQLDB
2) не могу даже сказать..., раньше на виндовс этот сетевой диск был подключён
3) макрос такой (приложил файл)

Да даже проблема не в том что отчеты не работают. Меня больше смущает что сама база открывается, в форме данные ввожу, сохраняю, закрываю базу, перезахожу, а введенные данные не сохранились. На рабочем столе все ок сохраняется, отчеты работают
Файл у меня лежит по пути (приложил файл) (может это как то подскажет какой сетевой диск...)
К сожелению только такие скриншоты могу отправлять, так как, флешки и тому подобное нельзя проносить на работу

mikekaganski

Я не специалист в Base, комментарий по распечатке макроса.

1. На всякий случай выведите результат Join(Arr, "/") - просто чтобы быть уверенным, что всё верно (например, корректный URL к файлу может быть вида file://server/share/path/file.ext/ - то есть с конечным слэшем; тогда после Split последний элемент будет пустой, а после установки имени и Join будет file://server/share/path/file.ext/macro1.odb).
2. Не экономьте строчки макроса. Особенно когда показываете проблему. Разве что если у Вас на работе оплата обратно пропорциональна строкам написанного кода. Например, в проблемной строке ошибка в вызове isConnected или connect? Если бы это было написано не в виде однострочного If, а в три строки

If Not .isConnected Then
  .connect
End If

то ответ был бы очевиден.
С уважением,
Михаил Каганский

economist

Если макросы написаны неаккуратно - при работе на сетевой шаре всё может сломаться.

А сам ваш odb и macro1.odb на сетевом диске зарегистрированы в LO (Alt+F12 - LO Base - Базы ...)?

Попробуйте создать символическую ссылку на файл на сетевом диске, в том самом месте, где все работало. В случае с Linux - это "хомяк", т.е. /home/<username>/Desktop. В теории можно создать всем пользователям такие ссылки и работать с файлом ODB (на запись - по-очереди). Не забудьте проверить регистрацию БД в LO на симлинк на рабочем столе. С симлинком помогут админы, может понадобиться правка fstab и root-права.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Kadet

Можно тоже свою лепту.
- Встроенная база не может быть многопользовательской. Нужно выносить базу данных и делать её внешне.
- Встроенная база сохраняет внесённые данные если при закрытии самого файла "*.odb" делать его сохранение. Если не делать - сохранение самого файла "*.odb", то и данные в нём не сохраняются. (Внешняя база данных сохраняет все вносимые в неё данные автоматически".
- В вашем случает не установленная переменная это объект oDBDoc. У вас файл macro1.odb по видимому просто не открывается, или открывается позже, чем срабатывает последующая команда. Такое бывает.

at0mix

у меня была аналогичная проблема с виндусовой шарой именно под бейзом. райтер и каклк работает на виндовс-шаре корректно, а бейз использует доп-атрибуты. соответственно на локальном диске с екст4 и скорее всего на нфс все будет работать.
выход - или использовать нфс, или внешнюю sql-базу на sql-сервере.
тогда проблем не будет.