Проблемы с работой 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-права.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...