Автор Тема: firebird 5 с lazarus-2.2.4 нет подключения  (Прочитано 708 раз)

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Сейчас тестируют firebird 5. Я пробовал подключаться к ней через лазарус в ALT 10.1. Но не выходит подключиться. А в MXlinux и
linuxmint-debian прекрасно работают.
Выдается сообщение
Can not load default Firebird clients ("libfbclient.so.2.5.1" or "libgds.so" or "libfbembed.so.2.5"). Check your installation.
Это сообщение говорит о том, что не хватает каких-то библиотек.

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #1 : 01.09.2023 17:00:43 »
libfbclient установлен? Если да, то возможно программа смотрит определенную версию библиотеки, создайте на нее символическую ссылку.

# ln -s /usr/lib64/libfbclient.so.3.0.7 /usr/lib64/libfbclient.so.2.5.1

В Lazarus для TSQLConnection можно вручную указать путь к библиотеке клиента.

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #2 : 02.09.2023 18:24:03 »
У меня уже изменился ответ при подключении. Есть ссылка libfbclient.so.2 на libfbclient.so.3.0.7. Lazarus-2.2.4 к firebird 3.0.7 тоже не подключался.
IBConnection1 : DoInternalConnect :
 -I/O error during "open" operation for file ",,,,,,"
 -Error while trying to open file
 -Permission denied
alt у меня стоит на разных файловых системах ext4, btrfs . Сначала были разные сообщения, а теперь одинаково.
Как будто бы права доступа неверны, а на самом деле все правильно.
В isql всё подключается, как надо. И библиотека libfbclient.so.5.0.0 установлена в /opt/firebird/lib. Есть ссылки libfbclient.so, libfbclient.so.2
В переменную PATH добавил пути через .bash_profile /opt/firebird, /opt/firebird/bin, /opt/firebird/lib. В firebird 5 они наверное определены в
/etc/service.
У меня скачан lazarus-2.2.6, но система не дает его установить. Подменяет его на то, что в репозитории. А там видимо брак.
Я ставил lazarus-2.2.4 в LMDE 5 и он нормально работал, но у Вас почему-то не работает.
Мне кажется, что дело в режиме systemd. И mxlinux и LMDE я запускаю в режиме systemd и лазарус подключается к firebird.
Нужно alt переключить в этот режим. Не знаю, что из этого выйдет.
« Последнее редактирование: 03.09.2023 10:54:43 от sjukor »

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #3 : 04.09.2023 09:31:24 »
Как будто бы права доступа неверны, а на самом деле все правильно.
Так не бывает. Что-то не так с самими правами, либо с методом их проверки.

В переменную PATH добавил пути через .bash_profile /opt/firebird, /opt/firebird/bin, /opt/firebird/lib
Добавлять lib в PATH - напрасное дело. ld там не смотрит пути к библиотекам. Используйте LD_LIBRARY_PATH для библиотек, а PATH - для исполняемых файлов.

У меня скачан lazarus-2.2.6, но система не дает его установить.
А как вы устанавливаете Lazarus? И что пишет apt-get при попытке установки?

Мне кажется, что дело в режиме systemd. И mxlinux и LMDE я запускаю в режиме systemd и лазарус подключается к firebird.
Нужно alt переключить в этот режим.
Он и так использует systemd.

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #4 : 07.09.2023 17:38:39 »
Права на папку владелец - firebird чтение и запись, группа - firebird чтение и запись, прочие только чтение
Также и на базу.
Пакет lfzarus 2.2.6 - бывает, что в пакете rpm 2 версии 2.2.4 и 2.2.6 и ставится первая. В deb пакете ставится 2.2.6.
systemd мне кажется, что надо проверить всё ли в нём установлено. Может чего-либо нет.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #5 : 07.09.2023 19:34:02 »
В Альте по соображениям безопасности СУБД по сети из коробки недоступны. Не это ли влияет.
Андрей Черепанов (cas@)

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #6 : 10.09.2023 11:39:54 »
Наверное так. А как это изменить.

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #7 : 10.09.2023 11:44:23 »
Пакет lfzarus 2.2.6 - бывает, что в пакете rpm 2 версии 2.2.4 и 2.2.6 и ставится первая. В deb пакете ставится 2.2.6.
Вообще то я проверил этот пакет в РОСА линукс и установился lazarus-2.2.6. Почему в ALT ставится 2.2.4. Наверное по сети уже загрузился и теперь всё время ставится 2.2.4.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #8 : 11.09.2023 08:58:13 »
Систему обновите. lazarus-2.2.6-alt2
Андрей Черепанов (cas@)

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #9 : 11.09.2023 17:49:41 »
В Альте по соображениям безопасности СУБД по сети из коробки недоступны. Не это ли влияет.
А если так, то ставить импорт, чтобы создавать программы дома. И отказываться от altlinux.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #10 : 11.09.2023 18:56:45 »
В Альте по соображениям безопасности СУБД по сети из коробки недоступны. Не это ли влияет.
А если так, то ставить импорт, чтобы создавать программы дома. И отказываться от altlinux.
Не смогли раздать СУБД по сети? Впрочем,  в такой экзотике, как Firebird, могли и не делать.
Андрей Черепанов (cas@)

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #11 : 11.09.2023 20:21:40 »
Не смогли раздать СУБД по сети? Впрочем,  в такой экзотике, как Firebird, могли и не делать.
Я пытаюсь делать программы с использованием firebird. Она ведь бесплатна. Но подключить lazarus к firebird не выходит ни в одной российской системе.
Кто-то специально не дает, как в altlinux, а кто-то просто не интересуется этим и не занимается.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #12 : 11.09.2023 22:36:49 »
Перестаньте, никто специально доступ к СУБД 20-летней давности не блокирует. Зачем, когда есть MariaDB и PostgreSQL?
В этом случае используется и таклй же устаревший язык Pascal. Сам Lazarus я собираю для школ, а из СПО на нём только doublecmd и видел. В продакшене не видел лет двадцать.
Зачем такая насквозь устаревшая и потому неподдерживаемая нормально связка? Может, проще переписать на PyQt5+mariadb?
Андрей Черепанов (cas@)

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 161
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #13 : 11.09.2023 22:41:54 »
Не смогли раздать СУБД по сети? Впрочем,  в такой экзотике, как Firebird, могли и не делать.
Я пытаюсь делать программы с использованием firebird. Она ведь бесплатна. Но подключить lazarus к firebird не выходит ни в одной российской системе.
Кто-то специально не дает, как в altlinux, а кто-то просто не интересуется этим и не занимается.
Бесплатных СУБД много - начиная от sqlite для простых локальных применений, и далее - MariaDB (MySQL) и PostgreSQL для более масштабных применений. Всё зависит от задач. А проекты с использованием firebird сейчас крайне редко встречаются, это скорее наследие старых проектов, большинство из которых ещё под винду (привет Borland C и Delphi).
И в отличие от винды  в линукс СУБД может предоставлять доступ не только по tcp/udp через соответствующий порт, но и локально через unix-сокет. И в целях безопасности начальная настройка СУБД - это доступ только через сокет, а сетевой доступ админ должен открыть сознательно самостоятельно, т.к. сразу после установки, например, может быть пустым пароль администратора БД и его надо установить до того, как пустить СУБД в сеть.
« Последнее редактирование: 11.09.2023 22:43:27 от Александр Ерещенко »

Оффлайн sjukor

  • Начинающий
  • *
  • Сообщений: 19
Re: firebird 5 с lazarus-2.2.4 нет подключения
« Ответ #14 : 12.09.2023 11:49:49 »
Зачем такая насквозь устаревшая и потому неподдерживаемая нормально связка? Может, проще переписать на PyQt5+mariadb?
Я как раз этим и решил заняться, после долгого перебора российских систем.
Но в python тоже встречаются разночтения, что вызывает сложности.
А lazarus это новая среда и то, что делается в ней, нельзя было сделать в pascal. Язык паскаль выработан годами. firebird 5 только появилась.
То, что в Вашей системе, встречается в beta версиях, где урезаны библиотеки. Например, отсутствует протокол firebird-3.0 и
поэтому нет подключений.
Если установить zeoslib в lazarus, то можно увидеть какие протоколы есть в системе при подключении. Чаще всего там SQLite, SQLDB, mySQL, interbase и все
старые. Т.е. подключиться по ним тоже проблема. А firebird видимо возложил поддержку протоколов на систему и сам не поддерживает. При отсутствии
нужного протокола он вылетает с ошибкой 902.
Было бы хорошо, если бы лазарус мог показывать их наличие и добавлять необходимые в систему. А иначе это половинчатая среда разработки.
У меня все стало работать после записи базы в папку /var/firebird и без zeoslib. Раньше была в двух местах /home/user и /var/lib/firebird/data, но не подключалась.
« Последнее редактирование: 09.10.2023 09:29:16 от sjukor »