Lazarus + Linux - не видим Firebird :((

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

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

Ответить
corpse
новенький
Сообщения: 15
Зарегистрирован: 17.11.2006 17:52:05

Lazarus + Linux - не видим Firebird :((

Сообщение corpse »

Доброго времени суток! Помогите, пожалуйста, решить проблему, я был бы очень признателен.

FireBird 1.5.1.4481-0.i686
Alt Linux Master 2.4
Lazarus 0.9.20 beta
fpc&fpr-src 2.0.4-0
Натолкнулся на следующую проблему - Lazarus под Linux не видит Firebird, запущенный на той же машине.

Вот что выдаёт TIBDatabase при попытке установить connected:= true:

Код: Выделить всё

TIBDatabase.Open:
-Unable to complete network request to host "localhost".
-Failed to establish a connection.
-Connection refused


Вот что выдаёт при попытке подключения TFIBDatabase:

Код: Выделить всё

Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Unable to complete network request to host "localhost".
Failed to establish a connection.
Connection refused.


Дальше ошибка при попытке подключить TFIBDatabase по какому-либо событию, скажем, нажатие кнопки:

Код: Выделить всё

Project project1 raised exception class 'EFIBInterBaseError' with message:
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Unable to complete network request to host "localhost".
Failed to establish a connection###(gdb unparsed reminder:...)###


Вывод tcpdump, натравленного на лупбэк:

Код: Выделить всё

14:46:56.712374 IP (tos 0x0, ttl  64, id 30450, offset 0, flags [DF], proto 6, length: 52) localhost.localdomain.32772 > localhost.localdomain.gds_db: S [tcp sum ok] 313754927:313754927(0) win 32767 <mss 16396,nop,nop,sackOK,nop,wscale 0>
14:46:56.712387 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF], proto 6, length: 40) localhost.localdomain.gds_db > localhost.localdomain.32772: R [tcp sum ok] 0:0(0) ack 313754928 win 0


Пинг на localhost проходит, соответствтующие компоненты для Транзакций на форме стоят. Lazarus запущен из-под юзера, с именем, например, "user". Права на чтение запись файла самой базы - 666, владелец группа - тот же user (сделал так, на всякий случай, когда остальное не помогло). Параметры обращения к базе верные, проверял. Родным isql под линукс база открывается, всё отлично.

P.S.: Тот же исходник прекрасно работает в той же версии Lazarus с теми же компонентами, но под Windows.
Джентельмен
постоялец
Сообщения: 162
Зарегистрирован: 16.10.2005 10:47:26
Откуда: Украина Донбасс Краматорск
Контактная информация:

Сообщение Джентельмен »

а почему у тебя к БД через проэкт через сеть пытаетса подключитса? и проверь подключитса ли под рутом... потому что когда я в линуксе работал с интербейсом, помоему там не только к файлу БД надо права на чтение запись... посиму попробуй под рутом...
а и к БД пользователей файрберда доступ нужен... (помоему)
нет...
у тебя с сетевым интерфейсом проблема... как ты подключаешся к БД? покажи код... или дай исходники... тогда подскажу подробней...
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

если с других прог\машин база видна, то с пользователями все нормально . тогда попробуй запустить приложение без lazarus, у меня на одной работе такой глюк под вендой есть, без лазаруса все работает под лазарусом валит подобной ошибкой, как бороться не искал, т.к. в остальных местах все нормально :)
corpse
новенький
Сообщения: 15
Зарегистрирован: 17.11.2006 17:52:05

Сообщение corpse »

Под рутом пробовал в первую очередь, когда увидел сообщение - результат полностью аналогичный.
Да, проект пытается соединиться через локалхост, а разве он в принципе работает как-то по-другому? Если что-то понимаю, то когда указывается путь к файлу базы, автоматом подставляется локалхост. Путь прописанный в качестве пути к базе - /opt/firebird/main/analiz.fdb
Без всяких указаний адресов. Проверить соединение с другой машины пока нет возможности.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

во первых - дай полную строку подключения к БД
во вторых - чем ты пытаешся работать с IB/FB (разницы нет между серверами) - если теми компонентами (а по приведённому тобой коду складывается такое впечатление) которые идут с самим лазарем - о не мучайся - возьми или FIB или UIB.
corpse
новенький
Сообщения: 15
Зарегистрирован: 17.11.2006 17:52:05

Сообщение corpse »

alexs писал(а):во первых - дай полную строку подключения к БД
во вторых - чем ты пытаешся работать с IB/FB (разницы нет между серверами) - если теми компонентами (а по приведённому тобой коду складывается такое впечатление) которые идут с самим лазарем - о не мучайся - возьми или FIB или UIB.

Хм... Я в своём первом сообщении явно указывал, что пытался использовать и те компоненты, которые шли с лазарем и FIBL, приводил сообщения об ошибках для обоих случаях. Хотелось бы, конечно, использовать FIBL.
Вот код для подключения к базе:

Код: Выделить всё

procedure TForm1.Button1Click(Sender: TObject);
begin
FIBDatabase1.DefaultTransaction:= FIBTransaction1;
FIBTransaction1.DefaultDatabase:= FIBDatabase1;
FIBDatabase1.DBName:= '/opt/firebird/main/analiz.fdb';
FIBDatabase1.Dialect:= 3;
FIBDatabase1.Encoding:= 'WIN1251';
FIBDatabase1.UserName:= 'SYSDBA';
FIBDatabase1.Password:= 'masterkey';
FIBDatabase1.Connected:= true;
end;
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

извини - не заметил

попробуй в качестве строки подключения:
127.0.0.1:/opt/firebird/main/analiz.fdb
явно указать - если глупый совет - прошу не обижаться :-)

я, по крайней мере, сейчас работаю только по TCP/IP - почемуто так надежнее получается
corpse
новенький
Сообщения: 15
Зарегистрирован: 17.11.2006 17:52:05

Сообщение corpse »

127.0.0.1 и localhost указывать перед именем файла пробовал - опять же, одна из тех вещей, которые я пробовал в первую очередь. Так же точно не помогает...
Джентельмен
постоялец
Сообщения: 162
Зарегистрирован: 16.10.2005 10:47:26
Откуда: Украина Донбасс Краматорск
Контактная информация:

Сообщение Джентельмен »

а есть еще вариант...
в файрберде под линуксом, там пароль к SYSDBA не мастеркей, а другой, какой то хитрый, и пароль больше 8 символов быть не может, покрайне мере в какой то версии это было такое безобразие... проверь этот момент... и попробуй поменять пароль на более простой... (до 8 символов)
может в этом проблема...
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

не понятно решилась тема или нет, но у себя я нашел в чем проблема , это gdb , вот только не знаю где взять другую версию под windows созерцание яндекса не проявилодолжного эфекта :(
corpse
новенький
Сообщения: 15
Зарегистрирован: 17.11.2006 17:52:05

Сообщение corpse »

Насколько я выяснил - проблема не в лазарусе, а в настройках Firebird'а. С этим вопросом ушёл на sql.ru...
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Attid писал(а):не понятно решилась тема или нет, но у себя я нашел в чем проблема , это gdb , вот только не знаю где взять другую версию под windows созерцание яндекса не проявилодолжного эфекта :(


потребовалась отладка и я нашел где новая версия лежит =)

gdb-6.3-2.exe пока полет нормальный.
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

у тебя расширение файла analiz.fdb или analiz.fbd?
и попробуй полжить файл БД в HOME
у меня почему-то не получалось подключится к БД пока не положил файл в хоме.
И перво-наперво попробуй подкючится к базе утилитами коммандной строки firebird, если пройдет - затем уже Лазарем.
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

tria
эт ты кому ? =)
я про веду вообщето и с фб все нормально.
а под линем проблем и не было.

но тебя покритикую =)
у тебя расширение файла analiz.fdb или analiz.fbd?

на расширение птичке по барабану

у меня почему-то не получалось подключится к БД пока не положил файл в хоме.

если версия embed то на директорию где лежит база должны быть твои права, есть сервер то группа firebird полный доступ.

И перво-наперво попробуй подкючится к базе утилитами коммандной строки firebird, если пройдет - затем уже Лазарем.

а вот это золотые слова =) хотя что в первом сообщении что у меня было написанно что isql работает.
Ответить