12. Работа в сети

Для работы с базой данных по сети требуется установить сервер баз данных Firebird 2.5. Скачать можно с официального сайта. Установка очень простая: далее, далее, …, готово.

На этом же компьютере должен находится файл базы данных DataExpress. Возможно потребуется в настройках брандмауэра открыть порт 3050.

Управление подключениями

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

Подключения можно группировать по разным группам с неограниченным уровнем вложенности. В одной группе не допускается наличие двух групп с одинаковыми именами. Имя подключения должно быть уникальным. Подключения и группы можно перетаскивать из одной группы в другую или совсем убрать из группы.

Не оставляйте группы пустыми, т. к. пустые группы не сохраняются.

Вы можете быстро добавить новое подключение к уже работающей базе (пункт Добавить текущую базу данных). В этом случае могут быть заполнены все параметры подключения, кроме пароля пользователя.

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

Чтобы подключиться к базе, нажмите кнопку Подключиться, дважды щелкните по соответствующему узлу в дереве или нажмите ENTER. При подключении к базе программа подменяет папку шаблонов и папку вывода, заданные в настройках программы (Файл-Настройки) на папки, заданные в параметрах подключения. В заголовке главного окна вы увидите не имя файла базы данных, а имя подключения.

При подключении к базе можно сразу войти в Дизайнер. Если в базе настроено ограничение доступа, то в Дизайнер может войти только разработчик.

Подключение к БД

Параметры подключения

  • Имя подключения - произвольное имя, которое будет отображаться в списке и в заголовке главного окна при подключении. Должно быть уникальным, чтобы программа могла однозначно определить параметры подключения. Обязательно для заполнения.
  • Расположение базы данных - локальный путь к файлу базы данных, псевдоним или сетевой путь в формате Firebird (сервер:полный путь к файлу БД, где сервер - это имя компьютера в сети, имя домена или IP-адрес). Обязательно для ввода. Примеры:
192.168.1.34:d:\bases\mybase.fdb
myserver:d:\data\my.fdb
demodx.tk:myalias

Если база данных находится на этом компьютере, то сетевой путь будет таким:

127.0.0.1:d:\bases\mybase.fdb
localhost:d:\data\my.fdb

Локальный путь к файлу базы данных может быть относительным (ссылки на родительские папки не допускаются):

demo_db.fdb
bases\mybase.fdb
  • Удалённая база данных - поставьте этот флажок, если доступ к базе данных осуществляется по сети.
  • Пароль SYSDBA - пароль встроенного администратора СУБД Firebird. Оставьте поле пустым, если используется пароль по умолчанию (masterkey).
  • Папка шаблонов - расположение папки шаблонов. Если оставить поле пустым, то используется папка templates, расположенная в папке приложения. Путь к папке может быть относительным.
  • Папка вывода - расположение папки вывода. Программа использует эту папку при печати шаблонов для хранения временных файлов. Если поле пустое, то используется системная папка временных файлов пользователя. Путь к папке может быть относительным.
  • Имя пользователя - если это поле заполнено, то в окне входа будет автоматически заполнен пользователь.
  • Пароль - если это и предыдущее поле заполнено, то программа подключится к базе под заданным пользователем, окно входа не будет показано.

Чтобы можно было работать по сети, на сервере должен быть установлен Firebird 2.5.

Из соображений безопасности пароль пользователя SYSDBA на сервере Firebird может быть изменен. О том как его изменить можно прочитать в Интернете.

По умолчанию порт Firebird равен 3050. Но его можно изменить. Для этого нужно отредактировать файл firebird.conf, который находится в папке Firebird (по умолчанию это c:\program files\firebird\firebird_2_5). Найдите строку RemoteServicePort, уберите символ решетки и поменяйте порт, например на 3051. Строка подключения будет такой, например:

192.168.1.34/3051:d:\bases\mybase.fdb

Путь к базе данных может быть задан в виде псевдонима. Например:

192.168.1.34:mybase

Это делается для скрытия реального местоположения файла базы данных. Чтобы использовать псевдоним, найдите в папке установки Firebird файл aliases.conf. И добавьте в него строку, например:

mybase=d:\mybases\mybase.fdb

Вход пользователя

Окно входа Если в базе настроены пользователи, то при открытии базы появляется окно входа. Из списка выбирается пользователь и вводится пароль. Флажок «Монопольный режим» позволяет подключится к базе только одному пользователю. Всем остальным при подключении будет отказано в доступе. Этот режим может быть доступен не всем пользователям (настраивается отдельно для каждого пользователя). Если при входе программа обнаруживает, что такой пользователь уже вошел в базу, то, в зависимости от настроек, может разрешить или запретить вход.

Внимание!!! Разработчиком игнорируется монопольный режим. Т. е. он беспрепятственно войдет в систему, даже если кто-то из пользователей или сам разработчик вошел в монопольном режиме.

Это сделано для того, чтобы разработчик мог устранять «зависшие» подключения и снимать блокировки с записей в случае какого-либо сбоя на клиенте. При входе в монопольном режиме, если к базе есть подключения, разработчик получит предупреждение.

Редактирование данных

При многопользовательском доступе к базе могут возникать конфликты при редактировании данных. Например, пользователи одновременно редактируют одну и ту же запись, или пользователь редактирует устаревшие данные. Чтобы предотвратить случайное искажение информации, в программу встроен механизм блокировки и проверки обновлений записей. На время редактирования записи определенным пользователем программа сохраняет сведения о записи в базу. Перед началом редактирования записи или при удалении программа проверяет не изменил ли запись другой пользователь или может она вовсе удалена. В случае положительного ответа программа предлагает обновить данные.

Внимание! Программа не проверяет изменения в таблицах.

Далее программа пытается заблокировать запись от случайного изменения другим пользователем. Если запись уже кем-то редактируется, то выдается предупреждение и запись открывается в режиме «Только просмотр» без возможности редактирования.

Механизм блокировки записей работает только в случае сетевого доступа к базе определенного пользователя (в базе настроены пользователи).

Монитор пользователей

Монитор пользователейМонитор пользователей отображает активные соединения с базой данных. Столбец CID - это идентификатор подключения к базе данных, ID - идентификатор редактируемой записи.

При обрыве соединения с базой может остаться информация о входе и редактируемых записях пользователем. Программа при следующем запуске пытается автоматически убрать ошибочные сведения. Но, к сожалению, это не всегда удается. Из-за этого некоторые пользователи не смогут войти в базу или изменить некоторые записи. Если вместо IP-адреса вы видите пустую ячейку, значит клиент по каким-то причинам потерял связь с базой (если это не встроенный сервер). Вы можете удалить сведения вручную командой «Удалить». Если вы удаляете активного пользователя, то пользователь все равно продолжает работать. Удаляется только запись из служебной таблицы. На стабильность работы программы это не влияет, разве что станет возможным войти под этим пользователем еще кому-нибудь (если не установлена множественная авторизация). Если вы удалите активную блокировку записи, то запись станет доступной и другим пользователям. Это может привести к тому, что эту запись сможет редактировать и другой пользователь. В этом случае в базе сохранятся сведения пользователя, который позже сохранил запись.