lazarus + Firebird embedded

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

Re: lazarus + Firebird embedded

Сообщение dunin » 28.01.2010 23:50:19

Ustas писал(а):У меня из основной формы (TForm) вызываются другие диалоговые формы со своими данными той же базы. Я не знаю, как все вызываемые формы подключить к одному коннекту. Знаете - подскажите. В Delphi коннект (Session) к DBE виден из любой формы, чем я и пользовался. А здесь - я не знаю...

Упс... Я подумал, что идет отработка многопользовательского подключения к БД из нескольких приложений...
В юнитах в которых "другие формы" описаны подключи основной (пропиши в uses).
Потом обращайся примерно так SQLQuery2.Database:= Form1.IBConnection1 ну и т.д.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: lazarus + Firebird embedded

Сообщение Ustas » 29.01.2010 19:59:35

dunin писал(а):В юнитах в которых "другие формы" описаны подключи основной (пропиши в uses).
Потом обращайся примерно так SQLQuery2.Database:= Form1.IBConnection1 ну и т.д.


Для только чтения такой вариант может и подойти, а вот для полноценной работы - это глюки.

Добавлено спустя 23 часа 5 минут 14 секунд:
alexs писал(а):В UIB оно как-то проще. И работа с событиями там хорошо сделана.


Установил UIB и FBDataSet - :shock:. Если этим пользоваться, то надо об этом что-то почитать, это отличается от используемого до этого TSQLQuery. Интернет мне особо не помог (хотя по крупицам я все же вытаскиваю из него нужное). Может есть описание аналогичного и по русски (и с примерами :oops: ). От теории меня уже клинит.
Ustas
постоялец
 
Сообщения: 146
Зарегистрирован: 19.10.2009 14:58:10
Откуда: г.Муром

Re: lazarus + Firebird embedded

Сообщение alexs » 30.01.2010 19:55:21

Ну с описанием проблемы... я не видел. Посмотри демки.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: lazarus + Firebird embedded

Сообщение Ustas » 30.01.2010 20:11:27

alexs писал(а):Ну с описанием проблемы... я не видел. Посмотри демки.


Ну тогда, хотя бы, совет: FBDataSet и UIBQuery - их назначение в плане работы с базой. Просто где то попадалось, что лучше FBDataSet для операций изменения базы, а UIBQuery - для запросов.
Ustas
постоялец
 
Сообщения: 146
Зарегистрирован: 19.10.2009 14:58:10
Откуда: г.Муром

Re: lazarus + Firebird embedded

Сообщение alexs » 31.01.2010 00:41:30

FBDataSet и UIBQuery - это две большие разницы
FBDataSet - это компонент, предназначеный для работы визуальных DB компонентов с данными (DBEdit, DBGRid). Фактически это комбаин с кучей фищек. В нём есть и и возможность редактирования и буферизация с отложенными изменениями (CashedUpdates) и управление транзакциямии (AutoComit) ещё ка чего. В дельфи прямой аналог - это pFIBDataSet.

UIBQuery - это компонент более низкого уровня. Он предназначен для выполнения произвольного запроса и выборки результатов запроса (если это любой из видов select) с сервера на клиента. Он ничего не значет о возможности визуального отображения. Вернее визуальные DB компоненты ничего не знают о нём. В принципе, он тоже умеет буферизировать получаемые с сервера данные, для возможности навигации по данным назад. Но я обычно его использую без этой фишки - мне он нужен для выполнения простых запросов.

Фактически FBDataSet построен на базе 5 UIBQuery (select, insert, edit, delete, refresh). И именно через них вполняются все обращения к БД.

А вобще - лучшее, что я могу посоветовать - не стесняйся смотреть в исходники библиотек. Сразу станет понятно что как реализовано и работает. И ещё - найди хороший букварь по работе с БД из дельфи. Мне в своё время очень помог разобраться с внутренним устройством DataSet-ов букварь от Марка Канту.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: lazarus + Firebird embedded

Сообщение Ustas » 18.02.2010 09:49:51

Вот мучаю Firebird embedded. Именно embedded
Подскажите, пожалуйста, в чем причина сообщения: -Access to database "C:\LM.FDB" is denied by server administrator.. Подключаюсь как админ (UserName = SYSDBA, Password = masterkey).

:oops: Фу-у-у... Вопрос снимается, кажись разобрался...
Ustas
постоялец
 
Сообщения: 146
Зарегистрирован: 19.10.2009 14:58:10
Откуда: г.Муром

Re: lazarus + Firebird embedded

Сообщение alexs » 18.02.2010 21:03:54

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

Re: lazarus + Firebird embedded

Сообщение Ustas » 18.02.2010 21:19:56

alexs писал(а):пытался подключиться из программы к базе, когда её уже открыл через IBExpert?


Да нет, экспериментировал с DatabaseAccess и ExternalFileAccess из firebird.conf. Получилось, правда, если когда все на одной машине. А хочется еще, попробовать подключится, когда база на удаленной машине. Где-то встречались подобные вопросы, поищу...
Ustas
постоялец
 
Сообщения: 146
Зарегистрирован: 19.10.2009 14:58:10
Откуда: г.Муром

Re: lazarus + Firebird embedded

Сообщение dunin » 18.02.2010 22:50:55

Ustas писал(а):Вот мучаю Firebird embedded. Именно embedded
...

Ustas писал(а):...Получилось, правда, если когда все на одной машине. А хочется еще, попробовать подключится, когда база на удаленной машине...

Firebird embedded = однопользовательский режим с локальной БД. Только. К БД на удаленной машине подключиться не получится. Подключение к БД через сетевой диск = крах БД (если повезет, то просто ошибка).
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: lazarus + Firebird embedded

Сообщение Ustas » 19.02.2010 09:44:08

dunin писал(а):Подключение к БД через сетевой диск = крах БД (если повезет, то просто ошибка).


Хм. Спасибо. Будем осваивать сервер...
Ustas
постоялец
 
Сообщения: 146
Зарегистрирован: 19.10.2009 14:58:10
Откуда: г.Муром

Пред.

Вернуться в Базы данных

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

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

Рейтинг@Mail.ru