Как установить firebird на windows

Обновлено: 04.07.2024

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

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

  • Firebird Super Server
  • Firebird Classic Server
  • Firebird Embedded

Firebird Super Server

Firebird Classic Server

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
  • выполните инструкцию создания базы данных:

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

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

SQL> select MON$DATABASE_NAME from MON$DATABASE;

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

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

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

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

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

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

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

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

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

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

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 и 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> );

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

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

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

FlameRobin

IBExpert

IB/FB Development Studio

Blaze Top

Database Workbench

Последующая задача требовала, чтобы на системе будь-то Windows 10 Pro x64 был установлен пакет Firebird и дабы не отклоняться к отсылке на официальный сайт или выражением там все просто, решил для себя оформить просто пошаговый процесс инсталляции Firebird 3.0.4 на Windows 10 Pro x64. В дальнейшем я буду ссылаться на эту заметку.

Шаг №1: Запускаю по исполняемому файлу ( Firebird-3.0.4.33054_0_x64.exe ) через правый клик мышью с выбором меню « Запуск от имени администратора »

Шаг №2: Выбираю язык установки (Русский) и нажимаю « ОК », соглашаюсь с лицензионным соглашением и нажимаю « Далее », « Далее », папку установки по умолчанию оставляю ( C:\Program Files\Firebird\Firebird_3_0 ) и нажимаю « Далее », тип установки выбираю « Полная установка сервера и инструментов разработки »

  • Компоненты сервера: отмечаю галочкой
  • Инструменты разработчика и администратора: отмечаю галочкой
  • Клиентские компоненты: должно быть отмечено галочкой и затемнено.

и нажимаю « Далее », оставляю как есть именование ярлыка в папке меню « Пуск » ( Firebird 3.0 (x64) ) и нажимаю « Далее », далее самый ответственный шаг — это указать какие дополнительные задачи должны выполниться при установке Firebird:

  • Запуск Firebird в режиме SuperServer
  • Запускать в качестве Службы
  • Автоматически запускать Firebird при каждой загрузке: отмечаю галочкой
  • Копировать клиентскую библиотеку Firebird в каталог <system> : отмечаю галочкой
  • Создать GDS32.DLL для поддержки унаследованных приложений: отмечаю галочкой
  • Разрешить авторизацию предыдущих версий клиента Firebird? : отмечаю галочкой

и нажимаю « Далее », затем следует создать пароль администратора:

и нажимаю « Далее », « Установить », « Далее » и оставляю отмеченной галочкой настройку « Запустить службу Firebird? ” и нажимаю « Завершить ».

На этом установка завершена на рабочую станцию, по аналогии шаги и для установки на сервер. Вроде все просто, просто данная заметка будет включена в последующие. С уважением, автор блога Олло Александр aka ekzorchik.

Firebird 2.5 не обязательно устанавливать на диск С, можно перенести его в любое место любого диска (с путём покороче).

1. Кнопка "Пуск"->"Выполнить. ". Набрать cmd, нажать Enter. Появится командная строка.

2. В проводнике Windows или в Total Commander перейти в папку bin устанавливаемого Firebird 2.5. Скопировать полный путь к этой папке (Ctrl-C или по пр.кн.мыши). Например, от сюда:



3. Перейти в окно командной строки.

Набрать cd, пробел, нажать пр.кн. мыши на строке ввода, из меню выбрать "Вставить", нажать Enter.


4. Если Firebird 2.5 будет не на диске С, например, как в этом примере, - на E то перейти на этот диск.

В данном случае, нужно набрать e: нажать Enter.


Теперь можно установить службу. Имя можно выбрать FB25.

instsvc.exe i -c -n FB25


Далее нужно перейти в папку с нашим Firebird 2.5, в данном случае это

Открыть файл firebird.conf на редактирование.

Найти строку (где-то в середине файла)

Сделать её вот такой


Сохранить. Закрыть файл.


Теперь нужно открыть "Диспетчер задач" Windows и перейти на вкладку "Службы" найти наш Firebird 2.5.

Выделить мышью строку, нажать правую кн.мыши, выбрать "Запустить службу"


Firebird 2.5 установлен.

Настройка АРМ СИ СЕНС

Желательно скачать последнюю версию АРМ СИ СЕНС (не ниже 2.8.1).

ВАЖНО!
При установке АРМ СИ СЕНС в окне "Выбор компонентов" снять галочку "СУБД Firebird v2.5"


После установки АРМ СИ СЕНС запустить программу "Настройка АРМ СИ СЕНС", перейти на вкладку "Управление БД", установить галочку "Расширенные настройки", в поле "Порт:" задать 3051, нажать кнопку


Закрыть программу "Настройка АРМ СИ СЕНС" (нужно для сохранения настроек).

Отличия между Classic Server и Super Server

  • Classic Server – создается отдельный серверный процесс на каждое подключение;
  • Super Server — все клиентские подключения обслуживаются одним серверным процессом, имеется общий клиентский кэш;


После установки FireBird, в панели управления можно видеть апплет FireBird Server Manager, который позволяет осуществлять запуск сервера FireBird автоматически или вручную. Так же с помощью параметров Run, можно задать тип запуска FireBird: в виде отдельного сервиса или приложения.

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


В Windows Seven в FireBird Server Manager кнопка и элементы могут быть заблокированы и запустить сервер FireBird не возможно. Как вариант, запустить FireBird можно с помощью bat-файла.

Запуск FireBird с помощью команд

Один из простых и в тоже время удобных способов запуска FireBird Server – является использование команд. Файл fbserver.exe имеет ряд ключей, которые способны управлять работой сервера, а так же исправлять системные ошибки сервера во время работы.

К примеру, есть необходимость запускать FireBird Server с помощью команды start. Для этого в папке FireBird необходимо создать файл start.bat . Включить в его содержимое команду fbserver –a и сохранить файл. Ключ -a – свидетельствует о том, что сервер будет запущен в виде приложения.

Теперь для запуска FireBird необходимо в командной строке или строке поиска (Windows 7) ввести команду start . Если результат не обвенчался успехом, то необходимо изменить параметры среды окружения.


Настройка переменной среды в меню «Свойства системы» – «Дополнительные параметры системы» – «Переменные среды». Далее необходимо создать переменную PATH, нажать кнопку «Изменить» и прописать путь к папке bin сервера FireBird.

Для того чтобы изменения вступили в силу, необходимо перезагрузить компьютер. После настройки переменной среды операционной системы, будет доступен запуск FireBird Server с помощью команды start.

Проверить проделанную работу можно следующим образом. Например, вызовите окно «Выполнить» Win + R и введите команду start .

Установка нескольких экземпляров СУБД Firebird 2.5 в режиме службы на Windows Server 2012 R2


В этой статье рассматривается порядок развёртывания нескольких экземпляров СУБД Firebird 2.5 в рамках одной серверной системы на базе ОС Windows Server 2012 R2. Каждый экземпляр Firebird при этом должен выполняться в режиме службы Windows, которая запускается от имени специальной сервисной учётной записи Group Managed Service Account (gMSA). В рассматриваемом примере каждый экземпляр располагается на выделенном диске и имеет отдельный TCP-порт для обслуживания клиентских подключений.

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

Так как мы планируем разворачивать в рамках одного сервера несколько экземпляров Firebird, важно не использовать для установки стандартный exe-инсталлятор, так как он вносит в системный реестр Windows данные, которые могут отрицательным образом повлиять на работу в мульти-экземплярном варианте.

Переходим на страницу загрузки Firebird 2.5 и загружаем не инсталляционный пакет в виде exe-файла, а архив в виде zip-файла. Например, в нашем случае будет устанавливаться 32-битная версия Firebird 2.5.8, поэтому загружается файл Firebird-2.5.8.27089-0_Win32.zip.

Подготовка дисков сервера

В нашем случае установка будет выполняться на виртуальный сервер c гостевой ОС Windows Server 2012 R2 Standard. Сервер имеет 3 дисковых тома. На первом томе C:\ расположена ОС. Второй (D:\) и третий том (E:\) будут использоваться для установки двух отдельных экземпляров СУБД Firebird.

При подготовке дисковых томов под экземпляры Firebird форматируем их в файловую систему NTFS с размером кластера в 4KB (используется по умолчанию в Windows Server 2012 R2). Единственная информация, которую удалось найти по поводу рекомендуемого размера кластера, была обнаружена в обсуждении How to Determine Optimal Disk Cluster Size for Firebird 2.5.

Необходимость разнесения экземпляров Firebird по разным дисковым томам может быть продиктована разными соображениями, начиная с разных требований по производительности дисковой подсистемы к разным экземплярам, заканчивая вопросами изоляции файлов экземпляров в целях безопасности.

Создадим под первый экземпляр Firebird на диске D: каталог D:\FBInst1\Bin и распакуем в него содержимое загруженного ранее zip-архива.

Создадим под второй экземпляр Firebird на диске E: каталог E:\FBInst2\Bin и также скопируем в него содержимое загруженного ранее zip-архива.

В каждом из каталогов D:\FBInst1 и E:\FBInst2 создадим ещё один подкаталог \Data. В этот подкаталог в дальнейшем будут размещаться файлы БД.


Создание сервисных учётных записей gMSA

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

Создать локальные учётные записи типа User на сервере Firebird Создать в домене Active Directory учётные записи типа User Создать в домене Active Directory учётные записи типа msDS-ManagedServiceAccount или msDS-GroupManagedServiceAccount

Каждый из вариантов имеет свои преимущества и недостатки, но если подходить к вопросу с точки зрения безопасности, то вариант наиболее оптимальным представляется вариант с использованием Управляемых служебных учетных записей Group Managed Service Account (gMSA).

Создадим в домене для каждого экземпляра создаём отдельную учётную запись gMSA.

О том, как создать учётную запись gMSA смотрим в статье Создание учётных записей MSA и gMSA

В нашем случае в домене создано две учётных записи gMSA с именами s-S11 и s-S12


О том, как установить созданные в домене учётные записи gMSA на сервере смотрим в статье Установка учётных записей MSA и gMSA на серверы


Настройка прав доступа для сервисных учётных записей

После того, как сервисные учётные записи созданы и установлены на сервере, выдадим им полные права NTFS на каталоги, в которых будут выполняться экземпляры Firebird. Учётной записи s-S11 выдадим права на каталог первого экземпляра (D:\FBInst1), а учётной записи s-S12 выдадим права на каталог второго экземпляра Firebird (D:\FBInst2)


Настройка базовой конфигурации Firebird

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

Так как в нашем случае экземпляр Firebird планируется использовать в режиме SuperServer и на нашем виртуальном сервере 4 логических процессора (4 процессорных ядра, выданных ВМ), то возможно имеет смысл дополнительно настроить параметр CpuAffinityMask таким образом, чтобы использовались все логические процессоры (значение по умолчанию 1 предполагает использование только первого процессора). Согласно документации для сервера с 4 логическими процессорами значение CpuAffinityMask должно быть установлено в 15.

Сохраняем конфигурационный файл и закрываем его.

По аналогии редактируем конфигурационный файл второго экземпляра Firebird (E:\FBInst2\Bin\firebird.conf), только в этом случае в качестве порта TCP-прослушивателя указываем другой номер порта, чтобы он отличался от номера порта первого экземпляра Firebird

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

Обратите внимание на то, что упоминаемая в некоторых руководствах утилита instreg, которая используется для регистрации (и разрегистрации) инсталляции Firebird в реестре Windows, в случае использования на одном сервере нескольких экземпляров Firebird 2.5 использоваться категорически не должна. В противном случае корректная совместная работа нескольких экземпляров Firebird на одном сервере может быть нарушена. Если в системе всё же по какой-то причине раньше использовалась утилита instreg, или просто выполнялась установка «дефолтного» экземпляра Firebird с помощью стандартного инсталлятора (exe-файл), в ходе работы которого вызывается instreg, то перед запуском нескольких служб с разными экземплярами Firebird, нужно предварительно удалить информацию об инсталляции Firebird с помощью команды instreg remove.

В нашем примере настройка служб Firebird выполняется на чистой системе и без применения инсталлятора, поэтому предварительное выполнение команды instreg remove нам не потребуется.

Итак, приступим к регистрации служб экземпляров Firebird.

Открываем командную строку с правами Администратора, переходим в каталог с исполняемыми файлами первого экземпляра Firebird и выполняем команду регистрации службы экземпляра с помощью утилиты instsvc (запросить информацию о ключах утилиты и её версии можно запуском с опцией -z):

В команде регистрации мы используем следующие опции:

install – установка нового экземпляра Firebird superserver – режим работы экземпляра (один из трёх возможных режимов для Firebird 2.5) demand – создаваемая служба настраивается на ручной запуск (это нужно для того, чтобы перед запуском службы выполнить её предварительную натсройку) name – имя экземпляра Firebird, который будет обслуживаться создаваемой службой.


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


Теперь перейдём в оснастку управления службами Windows (services.msc) и убедимся в том, что в перечне служб появились две новых службы и обе они находятся в незапущенном состоянии.


Откроем свойства службы первого экземпляра Firebird и на вкладке General настроим автоматический тип запуска службы



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


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


Службы должны запускаться без длительных задержек и ошибок.

Убедимся в том, что после запуска служб от каждого из экземпляров Firebird в системе появился TCP-прослушиватель для принятия клиентских подключений на ранее заданном порту.


Не забываем открыть соответствующие порты в Windows Firewall. Оперативно сделать это можно, например, с помощью PowerShell:

Теперь оба развёрнутых экземпляра Firebird можно считать запущенными и готовыми к работе.

Следующим обязательным шагом заключительной настройки является смена пароля служебной административной учётной записи SYSDBA в базе данных безопасности каждого экземпляра Firebird. О том, как это делается смотрим в отдельной заметке: Смена пароля пользователя SYSDBA в СУБД Firebird 2.5

Читайте также: