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

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

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

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

Сообщение corpse » 24.11.2006 15:16:56

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

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.
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05

Сообщение Джентельмен » 24.11.2006 17:06:05

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

Сообщение Attid » 24.11.2006 18:34:21

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

Сообщение corpse » 24.11.2006 21:19:53

Под рутом пробовал в первую очередь, когда увидел сообщение - результат полностью аналогичный.
Да, проект пытается соединиться через локалхост, а разве он в принципе работает как-то по-другому? Если что-то понимаю, то когда указывается путь к файлу базы, автоматом подставляется локалхост. Путь прописанный в качестве пути к базе - /opt/firebird/main/analiz.fdb
Без всяких указаний адресов. Проверить соединение с другой машины пока нет возможности.
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05

Сообщение alexs » 25.11.2006 02:32:01

во первых - дай полную строку подключения к БД
во вторых - чем ты пытаешся работать с IB/FB (разницы нет между серверами) - если теми компонентами (а по приведённому тобой коду складывается такое впечатление) которые идут с самим лазарем - о не мучайся - возьми или FIB или UIB.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение corpse » 25.11.2006 20:01:43

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;
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05

Сообщение alexs » 26.11.2006 01:15:17

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

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

я, по крайней мере, сейчас работаю только по TCP/IP - почемуто так надежнее получается
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение corpse » 26.11.2006 02:04:30

127.0.0.1 и localhost указывать перед именем файла пробовал - опять же, одна из тех вещей, которые я пробовал в первую очередь. Так же точно не помогает...
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05

Сообщение Джентельмен » 28.11.2006 11:01:42

а есть еще вариант...
в файрберде под линуксом, там пароль к SYSDBA не мастеркей, а другой, какой то хитрый, и пароль больше 8 символов быть не может, покрайне мере в какой то версии это было такое безобразие... проверь этот момент... и попробуй поменять пароль на более простой... (до 8 символов)
может в этом проблема...
Джентельмен
постоялец
 
Сообщения: 162
Зарегистрирован: 16.10.2005 10:47:26
Откуда: Украина Донбасс Краматорск

Сообщение Attid » 30.11.2006 13:24:03

не понятно решилась тема или нет, но у себя я нашел в чем проблема , это gdb , вот только не знаю где взять другую версию под windows созерцание яндекса не проявилодолжного эфекта :(
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение corpse » 30.11.2006 14:14:38

Насколько я выяснил - проблема не в лазарусе, а в настройках Firebird'а. С этим вопросом ушёл на sql.ru...
corpse
новенький
 
Сообщения: 15
Зарегистрирован: 17.11.2006 18:52:05

Сообщение Attid » 30.03.2007 14:59:51

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


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

gdb-6.3-2.exe пока полет нормальный.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение tria » 30.03.2007 16:15:29

у тебя расширение файла analiz.fdb или analiz.fbd?
и попробуй полжить файл БД в HOME
у меня почему-то не получалось подключится к БД пока не положил файл в хоме.
И перво-наперво попробуй подкючится к базе утилитами коммандной строки firebird, если пройдет - затем уже Лазарем.
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение Attid » 30.03.2007 17:57:35

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

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

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

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

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

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

а вот это золотые слова =) хотя что в первом сообщении что у меня было написанно что isql работает.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 72

Рейтинг@Mail.ru