Многопользовательский доступ

Автор Kadet, 12 февраля 2019, 11:20

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

Kadet

Добрый день!
Сделал базу данных в новой LO 6.2 на FB.
В одиночном режиме работает нормально.
Но при попытке организовать многопользоательский режим пошли сплошные косяки.
Прежде всего пытаюсь создать юзеров БД через CREATE USER, но юзеры не создаются, хотя ошибок при выполнении запроса не выдаёт.
Юзеров проверяю с помощью запроса, найденного в инете, который по словам автора должен выводить всех зарегистрированных пользователей в FB
Цитироватьselect RDB$USER from RDB$USER_PRIVILEGES where RDB$USER<>'PUBLIC' group by RDB$USER
Результат запроса один SYSDBA, который создан автоматом.
Однако, БД позволяет работать многим пользователям, но, кроме первой машины, все остальные - в режиме чтения.
Всё, что касается вывода данных (Select) работает нормально.
Нет возможности создавать новые записи, редактировать существующие, сохранять изменения в формах и т.п.
А без этого вся БД - просто пустое место, мусор никому не нужный и зря потраченное время.

Можно ли вообще стандартными (встроенными) средствами реализовать эту проблему. В инете встречал только предложение выносить БД как вообще отдельную, переводить её в MySQL или т.п. а потом коннектить как внешнюю, но этот способ не нравится.

mikekaganski

Реализовать проблему встроенными средствами, конечно, можно, что и происходит в Вашем случае ;) - а вот решить с использованием встроенной БД нельзя принципиально.

Единственное правильное концептуально решение для случая многопользовательского доступа - это использование внешней БД + Base в качестве интерфейса. Не обязательно использовать именно MySQL, просто много информации именно по интеграции с этой СУБД... а так можно и FB использовать...
С уважением,
Михаил Каганский

Kadet

Так, а на кой тогда вообще сия, так называемая, "встроенная БД" нужна, если она бесполезна в результате?

mikekaganski

Хе, "Она не подходит для моих задач" = "это бесполезная штука" :)

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

kompilainenn

Цитата: Kadet от 12 февраля 2019, 11:41
Так, а на кой тогда вообще сия, так называемая, "встроенная БД" нужна, если она бесполезна в результате?
Мне нужно собирать статистику по некоторым вещам и я планирую получить в итоге более 10 000 000 записей. Тут меня Calc не устроит, я это понимаю уже сейчас. Выход для простого юзера? Юзать простую БД из состава офиса
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Kadet

#5
В общем создал пустую БД FB на сервере и локально. Формы и рапорты переносятся в новую БД LO. Макросы тоже.
Таблицы пока ещё пустые, можно создать и заново. И запросы тоже не проблема.
Однако коннекта с внешней БД не происходит. Ругается то на домен, то на что-то другое. И на сервере и на локале.
На общем диске:
Цитироватьfirebird_sdbc error:
*I/O error during "CreateFile (open)" operation for file "Prom-resurs/prom-resurs/DataBase/Firebird/examples/empbuild/EMPLOYEE.FDB"
*Error while trying to open file
*������� �� ������ ����� ��������� ����.
caused by
'isc_attach_database'

На локальном диске С:
Цитироватьfirebird_sdbc error:
*Unable to complete network request to host "Andrey".
*Failed to locate host machine.
*The specified name was not found in the hosts file or Domain Name Services.
caused by
'isc_attach_database'

Yakov

Похоже на проблемы с кодировкой...

Kadet

Цитата: Yakov от 12 февраля 2019, 17:38
Похоже на проблемы с кодировкой...
Возможно, только на сети. Однако весь путь и названия вроде латиницей. Завтра проверю кодировку на сервере и на компах.
А вот на локале хост ему не нравится. Попробую прописать в hosts. Однако это не решит проблему. Нужна сеть, а не локал.

Kadet

Коллеги, помогите, пожалуйста, с коннектом к внешней БД.
Сделал внешнюю БД правда пока на локальной машине. FB установил как суперсервер.
Через ISQL Tool общаюсь с этой бд нормально. Создаю и заполняю таблицы, вывожу селекты и пр. Добавляю юзеров.
В общем нормально.
А вот при попытке прицепить её к LO выдаёт ошибку хоста:
Цитироватьfirebird_sdbc error:
*Unable to complete network request to host "Andrey".
*Failed to locate host machine.
*The specified name was not found in the hosts file or Domain Name Services.
caused by
'isc_attach_database'
Никак не могу докопаться до проблемы в инете.
Прописание строки в hosts ничего не даёт.
Цитировать127.0.0.1       Andrey

Как решить эту проблему?

kompilainenn

Цитата: Kadet от 15 февраля 2019, 12:31Как решить эту проблему?
почему вы хотите использовать именно Base?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Kadet

#10
Цитата: kompilainenn от 15 февраля 2019, 12:39
Цитата: Kadet от 15 февраля 2019, 12:31Как решить эту проблему?
почему вы хотите использовать именно Base?
Да уже полгода макросы, формы, отчёты и пр. писал и... в общем не хочется в четвёртый раз всё переписывать и подгонять под другие условия и интерфейсы.
Просто в LO уже всё на стадии тестирования и запуска, а в другом интерфейсе заново всё.

Kadet

Таки подключился. Причём база, которую делал как внутреннюю, и которую я вынул извнутри сохранилась. Все таблицы существуют, данные тоже.

Кому интересно - при подключении внешней БД FB, при указании пути к файлу нужно удалять доменное имя "file:///", которое вставляется туда автоматически.

kompilainenn

Цитата: Kadet от 15 февраля 2019, 15:50Кому интересно - при подключении внешней БД FB, при указании пути к файлу нужно удалять доменное имя "file:///", которое вставляется туда автоматически.
Это та тонкость, которая может многим помочь
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Kadet

#13
Цитата: kompilainenn от 15 февраля 2019, 18:00Это та тонкость, которая может многим помочь
Дай Бог!
Однако, осталась ещё одна непонятка.
Опять же - кому интересно, свою "внутреннюю" БД я вытащил так. Запустил базу (в общем БД LO). Посмотрел пути, до файлов Temp, те куда он распаковывается при запуске. Нашёл по этому пути рабочий текущий подкаталог. Там и лежал распакованный файл FIREBIRD.FBD (при запущенной LO Base). Скопировал его и сохранил в удобном месте. В общем если просто распаковать файл LO *.ODB zip-ом, то там можно найти только запакованный файл БД (*.FBK), который никак не распаковывается.
Однако, если закрыть LO БД - распакованные файлы очищаются из папки TEMP.

Далее, я установил отдельно сервер FB. И в папку с демо-бд, которая создаётся при установке сервера, положил свою, вынутую из LO БД - FIREBIRD.FBD.
Потом законектился.

Однако, осталась одна проблема. Данные в моей БД точно сохранились (проверял через ISQL Tool). Когда открываю бд через LO все таблицы есть. Для правки открываются, показывает все поля и их характеристики и настройки правильно, НО... при попытке открыть какую-нибудь таблицу или запустить запрос к таблицам выдаёт сообщение, что у меня нет прав доступа. Через Tool проверял - логины и пароли воспринимает, данные таблиц выдаёт, запросы выполняет. А в LO - ошибка прав доступа.
В общем, теперь пытаюсь наладить вход в эту БД через пароль. Проблема в том, что при настройке подключения к внешней БД FB в LO нет галочки "Требовать пароль", не предусмотрена. При настройке многих других подключений к другим внешним БД такая настройка есть. А для FB - нету.
Может кто подскажет решение этой проблемы? Может есть возможность прописать USER/PASWORD прямо к пути к файлу, как это делается иногда в строке "выполнить" в windows? Может есть другие пути решения этой проблемы?

kompilainenn

К огромному нашему сожалению, мы (ну давай я скажу за себя, ага) не знаем, потому что Firebird запили в LO только что и практики нет никакой - это раз, да и багов полным полно еще в самой этой реализации - это два=(
Единственный выход - писать баги в багзиллу и надеяться, что либо будет комментарий на ту тему от кого-то шарящего в теме разработчика, либо это таки признают багой и кто-то опять же должен будет это исправить
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут