Начинаем работать с Firebird Sql Server. Установка субд firebird Создание новой базы Firebird

Firebird SQL Server — сервер баз данных основанный на открытом исходном коде InterBase 6.0. Дистрибутивы Firebird существуют под Windows, Linux, Unix, Solaris, MacOS, под 32-х и 64-х битную архитектуру. Firebird SQL Server распространяется бесплатно и не имеет лицензионных ограничений.

Какую версию Firebird выбрать?

На сегодняшний момент новейшая версия — Firebird 3.0. Стабильная версия Firebird 2.5.

Установка Firebird — выбор типа сервера

Сервер Firebird SQL доступен в 3-х вариантах:

  • Firebird Super Server
  • Firebird Classic Server
  • Firebird Embedded

Firebird Super Server

Firebird Super Server — все клиентские подключения обслуживаются одним серверным процессом, имеется общий клиентский кеш. За счет этого достигается меньший расход ресурсов на обслуживание клиентов. Недостатком Firebird Super Server является отсутствие возможности задействовать несколько процессоров для работы Firebird сервера.

Firebird Classic Server

Firebird Classic Server — на каждое клиентское подключение создает отдельный серверный процесс. Архитектура Firebird Classic Server более надежна, т.к. сбой одного серверного процесса не вызывает отказ в обслуживании всех клиентов. Кроме того, Firebird Classic позволяет задействовать многопроцессорную архитектуру. При установке Firebird вы можете выбрать между версиями Firebird Super Server или Firebird Classic Server .

Firebird Embedded

Firebird Embedded Server — предназначен для встраиваемых баз данных. Состоит из одной dll — fbembed.dll , которая включает в себя клиент и сервер Firebird Super Server. Firebird Embedded не требует установки на клиентской рабочей станции. Достаточно просто скопировать fbembed.dll и еще несколько файлов клиенту на компьютер.

Недостаток Firebird Embedded — это невозможность одновременного подключения к одной БД нескольких клиентов. После успешного подключения Firebird Embedded блокирует файл базы данных для монопольного доступа.

Firebird Embedded Server распространяется отдельным дистрибутивом.

Если затрудняетесь с выбором

Если вы не уверены в выборе типа установки Firebird , то используйте Firebird Super Server. В дальнейшем вы без труда сможете изменить архитектуру сервера.

Начало работы с Firebird

Для знакомства с Firebird можно использовать тестовую базу данных employee.fdb. Она входит в установочный комплект Firebird и расположена в папке Program Files\Firebird\Firebird\examples\empbuild\ .

Создание новой базы Firebird

Для создания пустой базы Firebird:

  • запустите утилиту C:\Program Files\Firebird\Firebird\bin\isql.exe
  • выполните инструкцию создания базы данных:
Use CONNECT or CREATE DATABASE to specify a database SQL> CREATE DATABASE ‘localhost:d:\temp\test.fdb’ user ‘SYSDBA’ password ‘masterkey’ DEFAULT CHARACTER SET WIN1251;

В ISQL каждое выражение завершается точкой с запятой.

Проверить подключение можно, выполнив запрос:

SQL> select MON$DATABASE_NAME from MON$DATABASE;

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

========================================================================== D:\TEMP\TEST.FDB

Безопасность Firebird

  • Firebird хранит всех пользователей в одной служебной базе данных security.fdb.
  • Начиная с Firebird 2.1 реализована поддержка SSPI аутентификации средствами Windows. Администраторы домена на уровне БД определяются как суперпользователи SYSDBA.
  • В Firebird 3.0 планируется реализовать возможность хранения пользователей в клиентской базе данных.

Пользователь SYSDBA. Смена пароля по умолчанию

SYSDBA — это административный пользователь Firebird с исключительными правами. Пароль по умолчанию: masterkey . Для того чтобы сменить пароль, используйте утилиту gsec из состава Firebird:

C:\Program Files\Firebird\bin>gsec GSEC> modify SYSDBA -pw NEW_PASS

При помощи утилиты gsec можно создавать, удалять, модифицировать и просматривать пользователей. Полный список команд можно получить, набрав help.

Подключение к Firebird из клиентского приложения

Для начала скачайте и установите пакет IBProvider Professional Edition .

IBProvider Professional Edition — это набор COM-компонент, которые позволяют работать с любыми версиями Firebird и InterBase. Компоненты поддерживаются большинством средств разработки: Delphi, C++ Builder, Visual C++, .Net Framework, C#, Visual Basic, VBScript, VBA и др.

Для проверки подключения к Firebird напишем простой сценарий на языке VBScript . Создайте пустой файл с расширением vbs и вставьте в него следующий код, указав правильный путь к базе данных:

Dim cn, cmd, rs, i Set cn = CreateObject ("ADODB.Connection") cn.Open "Provider=LCPI.IBProvider.3;" & _ "Data Source=localhost:d:\temp\test.fdb; " & _ "User Id=SYSDBA;" & _ "password=masterkey;" & _ "ctype=win1251;" & _ "auto_commit=true" set rs = cn.execute("select * from MON$ATTACHMENTS") do while not rs.EOF for i=0 to rs.Fields.Count - 1 wscript.echo rs(i).Name & "=" & rs(i).Value next rs.MoveNext loop rs.close cn.close

Запустите скрипт на выполнение в режиме командной строки, и вы увидите список активных подключений к БД.

Firebird и VBScript, Visual Basic, VBA

Для доступа к Firebird и InterBase из VBScript , VBA , Visual Basic используется библиотека ADO (ActiveX Data Objects). Множество примеров работы с этой библиотекой вы найдете в документации: примеры InterBase, Firebird VBScript, VBA, Visual Basic .

Firebird и Delphi

IBProvider предлагает несколько способов работы с InterBase и Firebird из Delphi:

  • dbGo (ADO Express) компоненты, работающие через библиотеку ADO.
  • прямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo.
  • прямой доступ к COM-интерфейсам OLE DB при помощи сторонних VCL-компонент (OLE DB Direct/OLE DB Express).

Firebird и.Net

Для доступа к Firebird из.Net используется библиотека ADO.NET. На сайте IBProvider опубликовано большое пошаговое руководство, посвященное работе с Firebird в Visual Studio .Net (ADO.NET) .

Дополнительные материалы по теме:

Firebird и C++

В состав IBProvider Professional Edition входит C++ библиотека, которая предоставляет самый быстрый способ работы с OLE DB провайдерами из Visual C++ 2005-2008, а так же из C++ Builder.

Редактирование базы Firebird

В пустой базе данных необходимо создать таблицы, связи между таблицами, первичные ключи, индексы, хранимые процедуры, генераторы и другие объекты. Для редактирования баз данных Firebird вы можете использовать утилиту isql.exe.

Создаем таблицу:

SQL> CREATE TABLE cross_rate CON> (CON> from_currency VARCHAR(10) NOT NULL, CON> to_currency VARCHAR(10) NOT NULL, CON> conv_rate FLOAT NOT NULL, CON> update_date DATE, CON> CON> PRIMARY KEY (from_currency, to_currency) CON>);

Вставляем одну запись и делаем выборку из таблицы:

SQL> INSERT INTO cross_rate VALUES (‘Dollar’, ‘CdnDlr’, 1.3273, ’11/22/93′); SQL> SELECT * from cross_rate; FROM_CURRENCY TO_CURRENCY CONV_RATE UPDATE_DATE ============= =========== ============== =========== Dollar CdnDlr 1.3273000 1993-11-22

Помимо isql существует различные графические утилиты администрирования Firebird .

Утилиты администрирования Firebird

FlameRobin

FlameRobin — поддерживает Firebird. Кросс-платформенная архитектура. Есть редактор SQL, DDL, управление пользователями.
Лицензия: open source, распространяется бесплатно.
Сайт:

IBExpert

IBExpert — Поддерживает Firebird, InterBase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, а так же множество других возможностей.
Лицензия: Бесплатный для exUSSR, для остальных: от 179 евро.

Запуск Firebird на Linux/UNIX

Суперсервер

Каталог инсталляции по умолчанию /opt/firebird. В каталоге /bin находится в двоичном формате сервер Firebird fbserver (ibserver для Firebird 1.0.x), который запускается как процесс-демон в Linux/UNIX. Он запускается автоматически после инсталляции посредством RPM или скрипта и каждый раз при перезагрузке сервера запуском скрипта демона firebird, находящегося в /etc/rc.d/init.d (или /etc/init.d в SuSE), который вызывает утилиту командной строки Firebird Manager - fbmgr.bin. Firebird Manager может быть использована из командной строки для запуска и остановки процесса вручную.

Запуск сервера

Если вы по разным причинам запустили Firebird вручную, соединитесь с ним как пользователь root или firebird. Запомните, какую учетную запись вы использовали при запуске fbserver, потому что все созданные объекты будут принадлежать пользователю с этой учетной записью. Если позже другой пользователь запустит процесс с использованием другой учетной записи пользователя, то эти объекты будут ему недоступны.

Для запуска процесса выполните из командной строки следующую команду:

./fbmgr.bin -start -forever

./ibmgr -start -forever

Переключатель -forever означает, что Guardian будет управлять запуском. При использовании Guardian процесс сервера будет заново запущен, если он по каким-либо причинам завершится аварийно.

Для запуска сервера без использования Guardian введите:

./fbmgr.bin -start -once

Для версий Firebird, предшествующих 1.5, выполните:

./ibmgr -start -once

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

Остановка сервера

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

Переключатель -shut отменяет все текущие транзакции и прекращает работу сервера немедленно.

Вам не требуется быть подключенным как пользователь root для остановки сервера Firebird fbmgr, но вы должны иметь полномочия пользователя SYSDBA. Выполните следующую команду.

./fbmgr.bin -shut -password <пароль SYSDBA>

Используйте команду для версий, предшествующих 1.5:

./ibmgr.bin -shut -password <пароль SYSDBA>

Управляемое завершение работы

На этой платформе Firebird не имеет утилиты для подсчета количества пользовательских соединений с базой данных для Суперсервера. Если вам нужно предоставить клиентам интервал времени для завершения работы и корректного отключения, завершайте работу индивидуальных баз данных с использованием инструмента gfix с переключателем -shut и одним из доступных аргументов для управления отключением. (См. разд. "Останов базы данных" в главе 39.)

Другие команды fbmgr

Синтаксис

Из командной строки:

./fbmgr.bin -команда [-режим [параметр] ...]

Альтернативно вы можете стартовать интерактивную сессию fbmgr или ibmgr из командной строки (например, перейдя в режим с подсказкой). Наберите:

./fbmgr <нажмите Return/Enter>

для того чтобы перейти к следующей подсказке:

В режиме с подсказкой синтаксис команд:

FBMGR> команда [-режим [параметр] ...]

Например, вы можете запустить сервер одним из следующих способов. Из командной строки:

./fbmgr -start -password пароль В режиме с подсказкой:

FBMGR> start -password пароль

Переключатели fbmgr

В табл. 4.1 представлен список переключателей fbmgr и ibmgr, доступных из командной строки и из режима с подсказкой.

Таблица 4.1. Переключатели fbmgr/ibmgr

Переключатель

Аргумент

Другие переключатели

Описание

User, -password

Запускает fbserver, если он не был еще запущен

User, -password

Останавливает fbserver

Показывает хост и пользователя

Имя пользователя

SYSDBA; используется с переключателями -start и -stop, если пользователь системы не является root или эквивалентным ему

Пароль SYSDBA

Используется с переключателями -start и -stop, если пользователь системы не является root или эквивалентным ему

Выводит короткий текст помощи fbmgr

Используется для выхода из режима с подсказками

Из книги Fedora 8 Руководство пользователя автора

1.1.3.1. Запуск программы установки Linux Первым делом нужно настроить компьютер на загрузку с компакт диска. Обычно при запуске компьютера вы видите на экране сообщение:Press DEL to enter SETUP или Press F2 to enter SETUPВ программе SETUP нужно настроить компьютер на загрузку с CD/DVD (рис. 1.2), Если вы

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

Глава 3. Первый запуск ОС Linux 3.1. Загрузка ОС Linux Итак, инсталляция Linux завершена, и вы перезапускаете компьютер. Если Linux - единственная операционная система, установленная на вашем компьютере (а, значит, загрузчик LILO размещается в главной загрузочной записи - MBR), то после

Из книги 200 лучших программ для Linux автора Яремчук Сергей Акимович

П5. К главе 3 "Первый запуск ОС Linux" 1. На странице Алексея Махоткина (http://alexm.here.ru/manpages-ru/index.html) можно найти переводы man-страниц на русский язык. 2. Guido Gonzato, "Из DOS/Windows в Linux HOWTO", перевод Alex Ott, v1.3.2, 22 Февраля 1999 (http://linux.webclub.ru/howtorus/doswinhow/dos-win-to-linux-howto.html). Это очень полезный материал

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Запуск игр Windows под Linux Для Linux существует мало игр. Неказуальных игр, позволяющих убить время, в Linux предостаточно, при установке дистрибутива пользователь найдет их несколько десятков. Есть и проекты OpenSource, предлагающие довольно серьезные игры в самых разообразных

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

17.4.4. Запуск примеров домена Unix Две предыдущие программы-примера (серверная и клиентская) сконструированы для совместной работы. Запустите сервер с одного терминала, после этого активизируйте клиента из другого терминала (но в том же самом каталоге). При вводе строк в

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

1.8. Первый запуск Linux Если вы выбрали для входа в систему графический режим (или инсталлятор выбрал его сам, ни о чем не спросив), то вы увидите графический экран с полем ввода имени и пароля. Зарегистрируйтесь в системе (лучше под тем именем, которое завели для обычного

Из книги Linux программирование в примерах автора Роббинс Арнольд

Запуск сервера Firebird в Windows Суперсервер Выполняемая программа Суперсервера Firebird - fbserver.exe. Хотя он может запускаться и как самостоятельная программа, он также может находиться под управлением Guardian - fbguard.exe. Guardian обеспечивает возможность эмулировать автоматический рестарт

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Инсталляция клиента Linux/UNIX Операционные системы POSIX являются весьма своеобразными. Присутствующие в этом разделе советы должны быть полезными в качестве руководства по инсталляции клиентов для большинства разновидностей Linux и UNIX, однако это область, где сомнения

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

1.1. Модель файловой системы Linux/Unix Одной из движущих целей первоначального проекта Unix была простота. Простые понятия легко изучать и использовать. Когда понятия переведены в простые API, легко проектировать, писать и отлаживать простые программы. Вдобавок, простой код

Из книги Разработка ядра Linux автора Лав Роберт

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

Из книги автора

4.1. Введение в модель ввода/вывода Linux/Unix Модель API Linux/Unix для ввода/вывода проста. Ее можно суммировать четырьмя словами. открыть, прочитать, записать, закрыть. Фактически, это имена системных вызовов: open(), read(), write(), close(). Вот их объявления:#include /* POSIX */#include

Из книги автора

Установка InterBase на платформе Linux/Unix Установка InterBase под Linix немного сложнее, чем на Windows, если вы не являетесь знатоком этой ОС. Для Linux InterBase (а также Firebird) существуют два варианта архитектуры сервера - SuperServer и Classic. Про их различия, а также про достоинства и недостатки

Из книги автора

Часть I Сложные вопросы программирования в среде

Из книги автора

Ядро Linux в сравнении с классическими ядрами Unix Благодаря общему происхождению и одинаковому API, современные ядра Unix имеют некоторые общие характерные черты. За небольшими исключениями ядра Unix представляют собой монолитные статические бинарные файлы. Это значит, что они

Из книги автора

Ресурсы по Linux и UNIX вообще Здесь в первую очередь следует назвать Linux по-русски - сайт Виктора Костромина, который он ведёт с 1999 года. И который, с одной стороны, является самым полным каталогом ссылок на русскоязычные ресурсы по нашей теме, а сдругой стороны, содержит

Автоматизация магазина на базе сервера Firebird является экономически выгодной, поскольку, несмотря на свою бесплатность, это полноценный SQL сервер, достаточно мощный и надежный, чтобы удовлетворить потребности среднего холдинга.

В нашей практике система Storehouse Explorer на базе сервера Firebird использовалась для автоматизации холдинга из 50 магазинов по всей России. Размер базы данных превышал 30 Гб, база содержала информацию за 10 лет и одновременно обслуживала от 70 до 120 пользователей (проведение торговых операций и аналитика).

>> Скачать демо-версию <<

Установка сервера Firebird на UNIX имеет свои особенности, которые мы бы хотели отразить в данной статье.

Автоматизация магазина на базе сервера Firebird 2.5 на POSIX (UNIX, LINUX) платформах

Предисловие

В статье описывается установка сервера Firedird 2.5.2 в POSIX (Unix-подобных) операционных системах, таких как Linux, Unix.

Перед установкой необходимо учесть следующее.

  1. Для установки сервера Firebird Вам понадобятся права пользователя root.
  2. Если вы устанавливаете Firebird на Линукс, то прежде чем производить установку вы должны убедиться, что в системе имеется run-time библиотека libstdc++.so.5. Если это не так, то следует установить compat-glibc пакет (RedHat, CentOs, OpenSuse, Debian) или libstdc++5 пакет (Mandriva).
  3. Eсли вы планируете установку Firebird c архитектурой SuperServer на Линукс, который поддерживает новую POSIX модель потоков, то следует выбираль NPTL билд Firebird.

I. Выбор дистрибутива

Существует достаточно много дистрибутивов Firebird различных версий и разработанных для разных операционных систем.
На момент написания этой статьи доступен стабильный билд этого сервера версии 2.5.2, который может работать на
32-x и 64-х разрядных платформах Windows, LINUX и MacOSX.
Однако прежде чем выбрать нужный дистрибутив необходимо сделать небольшое отступление.
Существует несколько вариантов исполнения или вариантов архитектуры сервера Firebird, в именно Classic, SuperServer
и Еmbeded. Различаются они способом использования машинных и сетевых ресурсов. Не вдаваясь глубоко в подробности отметим, коротко, особенности этих архитектур:
Classic - формально можно описать формулой "n коннектов к базе - n процессов на сервере", т.е. каждый коннект к базе

запускает свой *процесс* на сервере. Работает это так. На POSIX платформах запускается [x]inetd демон, который
слушает порт (по умолчанию это порт 3050, но при необходимости, можно назначить другой). Этот демон запускает для каждого успешного коннекта *отдельный* процесс fb_inet_server. Под каждый процесс расходуются определенные ресурсы сервера, создается отдельный кеш памяти.

Более экономно расходует ресурсы компьютера архитектура SuperServer.
SuperServer можно коротко описать формулой "n коннектов к базе - один процесс и n *потоков* на сервере". В POSIX системах это процесс fbserver. Суперсервер - это многопоточное приложение, в отличие от архитектуры Classic. Каждое соединение обслуживается в отдельном потоке.
Embeded - это архитектура, которая работает в составе отдельного приложения и в обычном понимании не является "полным сервером", т.е. не предназначена для работы как сервер, который обслуживает множество коннектов.
Скорее всего, вы будете делать выбор между архитектурой Classic и Cуперсервер. Если нет возможности глубоко вдаваться в подробности, то можно сделать выбор произвольно. Формат самой базы данных никак не привязан к конкретной архитектуре Сlassic или Superserver и всегда есть возможность, в случае необходимости, переустановить сервер, выбрав другую архитектуру.
И хотя, скорее всего, вам подойдет любая архитектура из этих двух, есть мнение, что для новичков, которые только начали работать с Firebird, архитектура Classic более предпочтительна для изучения и экспериментов с Firebird, как более устойчивая к неверным действиям пользователя.
Заметим, что Суперсервер использует общий кэш памяти и может иметь некоторые преимущества в случае одновременной работы большого числа пользователей. Cуперсервер ограничен по размеру используемой оперативной памяти, на момент написания статьи он не может использовать память свыше 2Gb.
Архитектуре Classic можно также отдать предпочтение, если "железо" использует несколько процессоров и имеет значительную оперативную память (> 2 GB).
В данной статье не стоит задача подробного анализа и сравнения этих архитектур, более подробную информацию об этом можно найти в интернете.

II. Выбор метода установки

Для установки Firebird вы должны иметь права пользователя root.
Сервер Firebird относится к числу бесплатных продуктов, дистрибутив для его установки можно скачать с официального сайта Firebird Foundation www.firebird.org .
Дистрибутивы сформированы как файлы *.rpm или *.tar.gz, например:

FirebirdCS-2.5.2.26539-0.i686.rpm

FirebirdCS-2.5.2.26539-0.i686.tar.gz

Необходимо отметить, что не все сборки Linuх поддерживают rpm-установку, уточнить это можно в документации к платформе в разделе "Менеджер rpm-пакетов"("RPM Package Manager"). В таких случаях рекомендуется использовать "tar.gz" файлы.
В интернете есть описания ручных способов установки путем распаковки архива и копирования файлов, однако такие способы, при наличии инсталляторов от разработчика, не рекомендуются.

III. Установка сервера Firebird 2.5

Для примера, возьмем установку сервера архитектуры Classsic.
Войдите в систему под пользователем root.
Для инсталяции *.rpm файла следует набрать:

$rpm -ivh FirebirdCS-2.5.2.26539-0.i686.rpm

Для инсталяции *.tar.gz файла следует набрать:

$tar -xzf FirebirdCS-2.5.2.26539-0.i686.tar.gz

$cd FirebirdCS-2.5.2.26539-0.i686.tar.gz

После запуска скриптов установки будут произведены следующие действия:

  1. Будет сделана попытка остановить все работающие сервера Firebird.
  2. Если еще не созданы, будут созданы пользователь "firebird " и группа "firebird ".
  3. В каталог /opt/firebird будет установлено программное обеспечение, в каталоге /usr/lib будут созданы ссылки
  4. для библиотек, в каталог /usr/include будут помещены заголовки файлов.
  5. В каталог /etc/services будет добавлена запись gds_db для порта 3050, если такой записи еще нет.
  6. Будут добавлены localhost.localdomain и HOSTNAME в каталог /etc/gds_hosts.equiv .
  7. Если устанавливается SuperServer, то будет установлен только скрипт запуска сервера /etc/rc.d/init.d/firebird .
  8. Если устанавливается Classic, то будет установлен скрипт запуска /etc/xinet.d/firebird или, для некоторых младших версий inetd-систем, будет добавлена запись в /etc/inetd файл.
  9. Будут прописаны новые ссылки в /usr/bin для скрипта init.d и будет создана конфигурационная запись сервера Firebird в etc/rc.config .
  10. Будет выполнен старт сервера/службы и Firebird должен стартовать автоматически.
  11. Будет сгенерирован случайным образом пароль пользователя SYSDBA и записан в файл /opt/firebird/SYSDBA.password .
  12. Будет добавлен алиас для тестовой базы данных employee.fdb в aliases.conf.

На этом этапе можно проверить корректность установки сервера Firebird. Для этого нам потребуется пароль учетной записи SYSDBA, который можно извлечь из файла /opt/firebird/SYSDBA.password.
Наберем в командной строке:

$cd /opt/firebird/bin

$./isql -user sysdba -password

SQL>connect localhost:employee.fdb;

SQL>select * from sales;

По этим командам сервер Firebird соединяется с тестовой базой данных employee.fdb и извлекает все записи из таблицы sales.
Firebird сервер, по умолчанию, запускается от имени пользователя "firebird". Ранее, по умолчанию, сервер выполнялся от имени "root". Запуск сервера от имени "root" - не очень правильно с точки зрения безопасности , поскольку, у пользователя "root" самые высокие права в системе и он может создавать и удалять любые файлы и каталоги в пределах всей файловой системы. Такие права для сервера Firebird являются излишними, поэтому следует проверить и настроить конфигурацию сервера для работы от имени пользователя "firebird".

Для этого:

  1. пользователь "firebird" должен иметь права на запись в каталог, в котором будут создаваться базы данных.
  2. параметр DatabaseAccess из файла /opt/firebird/firebird.conf должен быть настроен таким образом, чтобы запретить доступ ко всем файлам и каталогам, за исключением тех, которые предназначены для хранения баз данных. Если в файле aliases.conf мы создаем алиас для файла, то в файле firebird.con мы должны дать к этому файлу доступ.
  3. рекомендуется (желательно, но не обязательно) всегда использовать алиасы для указания абстрактных ссылок на файлы баз данных, не указывая их конкретное физическое расположение.

На примере создания пустой базы данных test.fdb убедимся, что создание сервера Firebird прошло успешно.
Существует не один способ создания пустой базы, (например на клиенте, с помощью приложения IBExpert),
здесь предлагается самый простой способ, штатными средствами Firebird на сервере.
Каталог для размещения выберем var/firebird .
Итак, надо:
1. проверить наличие и при отсутствии создать каталог /var/firebird. Если владельцем этого каталога является не пользователь "firebird", то следует сменить владельца на "firebird":

$mkdir -p /var/firebird

$chown firebird:firebird /var/firebird

2. В файле /opt/firebird/firebird.conf добавить разрешение для создания базы в каталоге /var/firebird.

DatabaseAccess = Restrict /var/firebird

3. создать базу

$/opt/firebird/bin/isql -u SYSDBA - p

SQL>connect "/var/firebird/test.fdb";

В практической работе с сервером Firebird могут пригодиться некоторые инструменты:
- changeDBAPassword.sh - скрипт для смены пароля SYSDBA.
- createAliasDB.sh - скрипт для создания пустой базы данных, создания алиаса и его записи в aliases.conf;
Пример использования:

$createAliasDB.sh

IV. Если что-то пошло не так...

Если вдруг оказалось, что еще вчера сервер Firebird работал замечательно, а сегодня не запускается, или запускается, но не работает должным образом, то, возможно, решить проблему вам поможет изучение лога firebird.log.

V. Установка Firebird на платформах Solaris, FreeBSD, Debian

На момент написания статьи установка Firebird 2.5 для операционных систем Solaris, FreeBSD, Debian пока не доступна, используйте предыдущие версии Firebird, например 2.0.

(c) Милькевич Тарас
Polaris-Soft team,

Литература:

1. Firebird 2 Migration & Installation, Helen Borrie (Collator/Editor) 6 April 2008 - Document v. mi210_20 - for Firebird 2.1.
2. Мир Interbase. Архитектура, администрирование и разработка приложений баз данных в Interbase/Firebird/Yaffil. Издание 2-е, дополненное. Алексей Ковязин, Сергей Востриков, КУДИЦ-ОБРАЗ, Москва 2003.

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

СУБД Firebird, используемая в программном комплексе РКЦ: Офис , это кроссплатформенная система управления базами данных, работающая на Microsoft Windows, Linux, и разнообразных Unix платформах. Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный секторы) с 2001 года. Это коммерчески независимый проект C и C++ программистов, большая часть из которых проживает на территории России. Firebird является полностью свободным от лицензионных отчислений даже для коммерческого использования.

Подготовительный этап

Перед тем как начать установку Firebird необходимо удостовериться, что на компьютер, который вы планируете использовать в качестве сервера, не установлена другая копия Firebird или Interbase. Для этого зайдите в Панель управления Microsoft Windows и выберите пункт Программы и компоненты .

Панель управления Windows

Если Firebird другой версии (например, 1.5 или 2.1) установлены на вашем компьютере, то необходимо выполнить их удаление. То же самое касается и всех версий Interbase.

После удаления предыдущих версий Firebird загрузите дистрибутив СУБД Firebird 2.5 с официального сайта разработчиков, либо загрузите его с нашего сайта по следующей ссылке .

Установка

После успешной загрузки дистрибутива (это исполняемый файл, в имени которого содержится текст Firebird-2.5) запустите его, выполнив в Проводнике Windows двойной щелчок на имени файла левой кнопкой мыши, либо выделив этот файл и нажав клавишу Enter на клавиатуре вашего компьютера.

Файл дистрибутива Firebird 2.5

Если вы не работаете на компьютере с полными правами Администратора системы, то, скорее всего, Windows спросит вас о том, возможно ли запускаемому приложению вносить изменения в конфигурацию. Ответьте утвердительно на заданный вопрос и перед вами откроется страница приветствия мастера установки Firebird.

Начальная страница мастера установки Firebird

Лицензионное соглашение Firebird

Согласитесь с условиями лицензионного соглашения и снова нажмите кнопку Далее . Продолжайте нажимать Далее до появления следующего окна:

Выбор компонентов Firebird для установки

В этом окне мастер спрашивает о компонентах сервера, которые он должен будет установить. Руководствуйтесь, при выборе, следующим правилом: если у вас в организации используется обычный офисный компьютер в качестве сервера, а одновременно работающих пользователей не больше 10, то выбирайте пункт SuperServer . В противном случае - ClassicServer .

Отказ от создания папки в группе Пуска

На следующей странице мастера откажитесь от создания папки в меню "Пуск" и снова нажмите кнопку Далее .

Дополнительные задачи мастера установки Firebird

В окне дополнительных задач откажитесь от установки Guardian, выберите запуск в качестве службы, а также снимите все флаги, за исключением Автоматически запускать Firebird при каждой загрузке . После этого вновь нажмите кнопку Далее , а затем, на следующей странице, кнопку Установить .

Финальная страница мастера установки Firebird

После выполнения процесса копирования файлов сервера вы увидите завершающее окно установки. Снимите отметку напротив пункта After Installation - What Next? и нажмите кнопку Завершить .

Настройка брандмауэра

Для возможности подключения к СУБД Firebird с других компьютеров локальной сети вашей организации необходимо открыть порт 3050 в настройках брандмауэра Windows (если сервер локальной сети не имеет подключения к Интернету, то службу брандмауэра можно полностью отключить, хотя это и не рекомендуется с точки зрения безопасности). Настройка брандмауэра Windows выглядит следующим образом (для выполнения описанных действий вы должны обладать правами Администратора на компьютере, используемом в качестве сервера):

Добавление СУБД Firebird в исключения брандмауэра Windows. Шаг 1.

Добавление СУБД Firebird в исключения брандмауэра Windows. Шаг 2.

Добавление СУБД Firebird в исключения брандмауэра Windows. Шаг 3.

Добавление СУБД Firebird в исключения брандмауэра Windows. Шаг 4.

Добавление СУБД Firebird в исключения брандмауэра Windows. Шаг 5.