Lazarus 1.8.4 не может найти fbclient.dll (Firebird 3.0)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Lazarus 1.8.4 не может найти fbclient.dll (Firebird 3.0)

Сообщение DV2r4 » 02.03.2019 00:42:15

На попытку подключения со строкой
connect '127.0.0.1/3304:C:\FBDATA\EXAMPLES.FDB' user sysdba password 'masterkey';
isql сообщает - "Install incomplete, please read the Compatibility chapter in the release notes for this version"
Но это известная проблема и решение - нужно создать пользователя SYSDBA: https://www.firebirdsql.org/file/docume ... itsec.html
что и было сделано. После чего, через isql, после добавления пользователя, с базой можно было соединяться.

После того как был вычищен реестр, системные папки и память, поставлен из архива Firebird, изменен конфиг - Firebird был запущен как приложение; ещё раз было сделано заново простое приложение для подключения. После попытки подключения этого приложения по прежнему сообщается о невозможности найти библиотеку. Даже позже добавленный для явного указания библиотеки "SQLDBLibraryLoader" не решил проблему.
Над isql был поставлен допэксперимент - бинарник isql был скопирован в произвольную папку и оттуда запущен без ошибки отсутствия библиотеки (так как система может найти эти библиотеки в пути поиска) а вот Лазарь - не хочет видеть их даже если ему явно добавлять место инсталляции в пути поиска библиотек, в свойствах проекта.
DV2r4
незнакомец
 
Сообщения: 6
Зарегистрирован: 23.02.2019 11:01:52

Re: Lazarus 1.8.4 не может найти fbclient.dll (Firebird 3.0)

Сообщение zoltanleo » 02.03.2019 04:29:13

Парень, ты явно делаешь что-то не так. О каких путях поиска ты говоришь? В Path пути прописываются только инсталлятором, при распаковке из архива никаких упоминаний о FB там и в помине нет. Все имеющиеся пути к каталогам FB - следствие оставшихся мусорных записей, которые должны быть оттуда удалены.

При запуске из консоли isql ты должен либо ручками сменить текущий каталог до этой утилиты, либо запускать ее с указанием полного абсолютного пути к ней.

По поводу компонентов доступа из штатной поставки Лазаруса я писал - забудь про них, используй другие. Если и эти советы тебе не помогут, то, боюсь, с выбором профессии программиста ты ошибся :)
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 332
Зарегистрирован: 17.10.2013 10:55:01

Re: Lazarus 1.8.4 не может найти fbclient.dll (Firebird 3.0)

Сообщение Alexandr » 04.08.2019 18:07:35

Аналогичная проблема на Лазарусе 2.0.2 с FB 3.0.4 (32 Bit). Win10 Pro64.
Для zoltanleo: не веря в успех, все-таки перепробовал все рекомендации данные для DV2r4 выше. И ... НЕ помогло. ))) Вот только не советую брать на себя полномочия делать выводы о профпригодности, а то можно будет подумать что это от досады что советы не помогли.
При попытке законектиться к базе все та же ругань на не найденную/кривую клиентскую библиотеку.
Опробовано и на примитивах из пакета SQLdb и на правильном IBX (http://visual-t.ru/ibexpress.html) - эффект одинаков.
В то же время:
- IBExpert влет регистрирует базу и работает с ней. В регистрационной инфе указана та-самая клиентская библиотека.
- Делфи из РАД-студио 10.2.2 легко открывает ту же-самую базу и FireDAC, и аскетичными dbExpress - компонентами.
Да и старые проекты (делфийские) пооткрывал - проблем нет, так что грешить на кривой FB оснований нет.
Сейчас заказчику нужен релиз на Лазарусе+ФБ.
У кого-нибудь есть версии - где собака порылась?
Спасибо.
Alexandr
незнакомец
 
Сообщения: 1
Зарегистрирован: 04.08.2019 17:33:59

Re: Lazarus 1.8.4 не может найти fbclient.dll (Firebird 3.0)

Сообщение pi1 » 04.11.2019 13:02:07

От души понравился совет про смену профессии :) Чек конкретно и грамотно описал проблему в конкретной версии IDE, а ему типа "забудь про них". Не понятно тогда зачем советчик вообще пишет в этой теме. Может вообще забыть про Lazarus и программировать например в ExtJS? А сколько еще идей ... . Можно еще и посоветовать ось поменять. А кто нить по шагам разъяснить способен, как происходит процесс коннекта компоненты IBconnection из lazarus 1.8.4 c базой данных? И тогда по этой логической цепи и можно будет найти проблемный участок и определить, это фишка версии IDE или не стыковка с логикой оси или ошибка при настройке IDE.

И скорее всего проблема в том, что при запуске готового приложения ось (Windows) в данном случае видит лежащую в "родной" папке соответствующую dll, а вот при работе в IDE эту dll нужно положить так чтобы ось ее видела. А это далеко не всегда папка проекта.
Аватара пользователя
pi1
новенький
 
Сообщения: 58
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск

Re: Lazarus 1.8.4 не может найти fbclient.dll (Firebird 3.0)

Сообщение zoltanleo » 04.11.2019 15:04:47

pi1
Совет по смену профессии был дан не просто так. Нельзя обучиться профессии по форумам или Ютубу. Чтение специальной литературы должно быть обязательным. И должны быть некие личные качества, которые подходят к выбранной профессии. Помнится, в бытность моей работы хирургом, у нас одного проктолога называли "жопным доктором" не из-за его специальности, а потому что он оперировал так, как будто его руки росли из одного места. Здесь примерно такой же случай.

Теперь по делу. Штатные компоненты Лазаря "увидят" firebird, если положить в корень с лазарусом fbclient.dll любой версии сервера (правда, кто-то предупреждал, что для 64-битной версии данная конструкция не взлетит, но 32-битной это наблюдение работает железно - проверял сам). То же самое справедливо для IBX компонентов, которые ставятся из репозитория OPM.

Можно вручную задать значение для переменной окружения FIREBIRD, указав путь к библе там, тоже сработает.

Если что непонятно, можно почитать здесь: https://www.sql.ru/forum/1317837/zadat- ... nt-i-proch

Принцип работы ibconnection весьма прост: задаёте путь к БД (включая имя сервера и порт, если он нестандартный), путь к библиотеке указываете в соседнем компоненте (...LoadLibrary...). Все это связываете между собой + с компонентами-транзакциями + компонентами-запросами - и вперёд.
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 332
Зарегистрирован: 17.10.2013 10:55:01

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google Adsense [Bot], MSN [Bot] и гости: 13

Рейтинг@Mail.ru