Что такое firebird?

Доступ к базе данных Firebird из YII2

Из песочницы

Так получилось, что мне понадобилось переносить интерфейс пользователя из связки Delphi + Firebird в WEB. Дабы не останавливать работу комплекса программ, решено было переносить формы постепенно, а для этого необходимо сохранить работу СУБД Firebird и подключаться к ней из web приложения. При разработке web-приложения я решил использовать фреймворк YII2. На этапе разработки мне не нужен полноценный HTTP сервер, вполне сойдет Denwer или XAMMP, или что-то еще. Я выбрал XAMMP т.к. в Денвере давно не обновляется версия PHP, а руками заниматься его обновлением не хочется, идем по пути наименьшего сопротивления. Изначально ни в XAMMP PHP, ни в YII2 нет возможности работать с СУБД Firebird, но при определенных танцах с бубном сделать это вполне реально. Итак, я буду полагать, что у Вас уже установлены: Windows 7 x64, XAMMP и YII2, Firebird 2.5.
Пути установки пакетов у меня (для себя вводите соответствующие корректировки):

  • Firebird 2.5 версия x64 (тип сервера значения не имеет) в C:\Program Files\Firebird\Firebird_2_5\
  • XAMMP установлен в D:\xampp\
  • YII2 установлен в D:\xampp\htdocs\yii\
  • БД расположена в пути D:\WORK\database\TBOT.GDB

Теперь можно начинать.

Технология хранения и индексирования

Multi-Generational Architecture (MGA)

Firebird унаследовала архитектуру хранения Interbase. Для обеспечения ACID-свойств транзакций, механизм работы базы данных хранит различные версии каждой записи, изменённой активными пользователями в базе данных. После завершения транзакции, последняя версия каждой измененной записи помечается как окончательная. В случае отката транзакции, базы данных оставляет отметку на оригинальной версии записи, оставляя данные нетронутыми. В результате этого, количество записей на диск с использованием Firebird сильно уменьшено по сравнению с базами данных, использующими традиционную архитектуру журнала транзакций. Запись транзакций не препятствует чтению и наоборот, потому что каждый пользователь видит свою собственную версию базы данных. Компромисс заключается в том, время от времени требуется удаление старых версий записей и для освобождения дискового пространства.

Multi-Generational Architecture (архитектура с несколькими поколениями) обеспечивает одновременное выполнение операций OLTP и DSS / OLAP без задержек, которые вызывают механизмы блокировки, используемые в других продуктах.

Индексы

В Firebird все индексы базы данных ведут себя как хорошо настроенные «кластерные индексы», используемые другими архитектурами. Индексы Firebird не являются объектами двухфазной блокировки, в следствие чего логические операции «и» и «или» могут выполняться на промежуточных этапах с незначительной стоимостью, исключая необходимость выбора оптимизатором альтернативных индексов.

Предупреждение: Windows x64

Предупреждение: В версиях FPC ниже FPC 2.7.1 r23738 (март 2013 г.), FPC x64 в Windows не очень хорошо работает с embedded dll Firebird или другими DLL. Раздел ниже содержит обходной путь, если у вас есть старая версия FPC

В версиях FPC ниже 2.7.1 r23738 вы можете получать ошибки/исключения объекта IBConnection, даже если вы пишете правильный код(см., например, Create database bug report.

Обходное решение:

  1. перейти к моментальному снимку разработки/версии FPC после FPC 2.7.1 r23738; см.
  2. если на FPC 2.7.1 ниже, чем r23738, скомпилируйте FPC с ключом , чтобы использовать новый код Структурированной Обработки Исключений (SEH) на Win64.
  3. использовать 32-битную FPC и Lazarus на Windows 64

Основные возможности СУБД

Firebird полностью поддерживает стандартны ANSI в синтаксисе языка SQL и может работать под управлением многих операционных систем — Windows, Linux, MacOS, Solaris и различных Unix-платформах. Среди достоинств этой системы использование очень развитого языка для хранимых процедур и триггеров. Предшественник Firebird, СУБД Interbase использовалась в информационных системах начиная с 1981 года.

Firebird это свободный проект, поддерживаемый многими программистами и специалистами из других областей по всему миру. Его начало было положено 25 июля 2000 года, когда корпорация Inprise Corp (ныне известная как Borland Software Corp) открыла исходные коды своей СУБД Interbase, которая использовалась в различных информационных системах начиная с 1981 года.

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

Firebird (FirebirdSQL) — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.

Firebird основан на исходном коде InterBase 6.0 который был выпущен как Open Source компанией Borland в августе 2000 года. История Interbase начинается в 1984 году, таким образом, продукт является наследником более чем 20-летнего опыта работы с реляционными базами данных

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

Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.

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

Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов.

Версии сервера

Релиз Firebird 1.0 — это первая версия (ноябрь 2001 года), базирующаяся на открытых исходных текстах InterBase 6.0. Поэтому в основном релиз содержит большое число исправлений ошибок IB 6.0.

  • Расширенные проверки зависимостей (udf и генераторы)
  • Убраны проблемы с размером файла БД более 4 гигабайт (кроме FAT16 и FAT32, где файл не может быть больше 2-4 гигабайт)
  • Поддержка размера страницы БД 16 килобайт
  • ForcedWrites теперь ON по умолчанию при создании БД
  • Параметр конфигурации для задания расположения внешних файлов
  • Увеличено количество внешних файлов, открываемых одновременно
  • Внешний файл закрывается, если внешняя таблица удаляется
  • Добавлен параметр CPU_Affinity (Superserver)
  • Возможность указания номера порта в строке коннекта
  • параметр NONAGLE для Linux
  • расширения isc_info_database
  • счетчик записей для gbak (при указании опции -v)
  • переменные CURRENT_USER и CURRENT_ROLE
  • команда DROP GENERATOR
  • возможность группировки по UDF (group by <function>)
  • команда RECREATE PROCEDURE
  • команда RECREATE TABLE
  • опции SELECT FIRST (<int>) SKIP (int) …
  • функция SUBSTRING(<str> FROM <pos> )
  • команда PLANONLY для ISQL
  • новый маркер комментариев —
  • расширения ib_udf (SUBSTR, SUBSTRLEN, ASCII_CHAR)
  • новый набор функций FBUDF.DLL
  • by descriptor в параметрах UDF

Firebird: что это за программа и зачем ее используют?

Firebird – среда для управления и работы с базами данных. Программа кроссплатформенная, подходит для всех настольных ОС. Используется для построения баз данных в промышленных системах. С 2001-го года программа распространяется на бесплатной основе.

Характеристики и возможности

Разберем подробнее, на что способна программа.

Основные особенности:

Открытый код Программу можно использовать бесплатно как для приложений с открытым кодом, так и для коммерческих целей.
Малый вес Firebird не занимает много места на жестком диске. При этом, она работает с базами в сотни раз превышающими ее размер.
Распространенность Firebird собрала вокруг себя сообщество энтузиастов. В любой момент пользователи получают актуальную информацию о ее работе.
Построение баз данных в режиме «только для чтения» СУБД может распространять данные на съемных носителях.
Копирование «на лету» При резервном копировании не нужно останавливать работу сервера. Технология копирования предполагает сохранение базы в момент создания копии. Процесс не мешает работе сервера.

Преимущества СУБД:

  • софт совместим со всеми актуальными ОС;
  • не требует настройки и отладки. Запускается непосредственно после установки;
  • работает в автоматическом режиме;
  • расширение функций за счет внешнего функционала;
  • установщик не занимает много места;
  • поддерживаются хранимые процедуры и триггеры;
  • записи различных версий обрабатываются параллельно с остальными;
  • триггеры создаются на SQL;
  • нет необходимости в участии системных администраторов;
  • поддержка широкого набора языков кодировки.

Не обошлось без минусов. Среди основных такие:

  1. Отсутствует кэш. Не отслеживается история запросов.
  2. Замедление работы с увеличением внутренней фрагментации базы.

Установка и работа

Помимо самой СУБД, для полноценной работы потребуется IBExpert:

  1. Софт скачивается с официального сайта.
  2. Затем устанавливаем Firebird. После установки, СУБД автоматически запускается при включении компьютера.

Совет! 19 апреля 2016 года стала доступна версия Firebird 3.0. Кратко ознакомится с новыми возможностями можно здесь. 

Работа начинается с запуска IBExpert. При первом запуске появится запрос об использовании многотипных элементов интерфейса. Если выбрать многотипный режим, интерфейс копирует инструментарий DELPHI.

Для создания первой базы, выбираем:

  • «База данных»;
  • затем жмем «Создать»;
  • и выбираем «Локальный сервер».

Для работы программа потребует пароль. У Firebird пароль по умолчанию

masterkey

Теперь вы приступите к созданию первого проекта.

Детальная инструкция по работе с базой показана на видео.

Удаление

Первый шаг – остановка программы. Открываем СУБД, запускаем Firebird Server Control, и нажимаем «Stop». После того, как работа остановлена, можно переходить к удалению:

  1. Через «Панель управления» переходим в меню «Установка и удаление программ».
  2. В данном окне выделяем СУБД, и в списке действий выбираем «Удалить».
  3. Подтверждая действие, избавляемся от компонентов программы.

Firebird что это за программа

Firebird (Firebird SQL) — это программа или реляционная система управления базами данных (СУБД), способная работать на ОС Linux, Microsoft Windows, MacOS X, Solaris Sparc, HP-UX, FreeBSD и других разнообразных Unix платформах. Эта программа Firebird не требует постоянного администрирования. Она основана на исходном коде, который был выпущен корпорацией Borland в 2000 году в качестве Interbase 6.0 (свободной версии). Firebird совместима со стандартом SQL’92.

Что это Firebird?

СУБД Firebird является независимым проектом программистов (C и C++), разработчиков систем управления базами данных и технических советников. Используется в самых разнообразных системах как негосударственного, так и государственного секторов. Основными причинами для перехода являются:

  • Оригинальные функции Firebird и простота в использовании. Особенно относится к версии MS SQL 6.5, которая работает с devices (фиксированными устройствами), а не с динамически расширяющимися файлами. Это весомое преимущество, поскольку данный вариант способен привести к определенным проблемам при администрировании.
  • Дополнительный сервер и хранилище. MS SQL предлагает, и даже рекомендует, пользователям приобрести еще один дополнительный сервер (операционную систему, оборудование или сервер баз данных), чтобы установить его как хранилище данных для генерации всех отчетов.
  • Нет привязки к поставщику ПО. MS SQL работает только на Windows NT2000, а значит, что Вы «привязаны» к ОС Microsoft. А вот эта программа Firebird не имеет привязки к какому-либо поставщику программного обеспечения. Система может работать и на Windows, и на множестве других платформах, включая Linux, MacOS X, Solaris и т.д.
  • Открытость исходных кодов. Исходные коды Firebird открыты, что позволяет максимально комфортно использовать эту СУБД, вносить изменения и улучшать, находить ошибки. Если Вы хорошо понимаете исходный код, добавление таких функций и повышение гибкости в системе не составит особого труда.
  • Отсутствие стоимости. Известно, что это программа Firebird является совершенно бесплатной системой, в то время как за использование сервера MS SQL взимается плата за каждый процессор, собственно на котором он работает.

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

Инструкция по удалению Firebird

  1. Удаление через «Панель управления». Чтобы остановить СУБД FireBird 1.5 через «Панель управления», необходимо открыть окно «FireBird Server Control», запустив FireBird 1.5 Server Manager, и выбрать действие «Stop». Подтвердите, нажав «OK».
  2. Удаление через «Установку и удаление». Для начала следует открыть «Панель управления», а затем раздел «Установка и удаление программ». В списке выделить программу СУБД FireBird 1.5 и выбрать действие «Удалить» Firebird. Для подтверждения удаления нажать на кнопку «Да». В следующем окне, появившемся после вышеперечисленных действий, выберите «Yes to All» и подтвердите, нажав «ОК». После успешного удаления останется лишь перезагрузить компьютер.

(0 , в среднем: 0 из 5)

Варианты [ править ]

  • Firebird SuperServer имеет один демон / сервер для всех клиентских подключений, многопоточный с общим кешем
  • Firebird SuperClassic также имеет один демон / сервер для всех клиентских подключений, многопоточный с отдельными кешами.
  • Firebird Classic использует inetd для запуска одной копии сервера на каждое клиентское соединение, рекомендуется для систем SMP, но может иметь проблемы с уведомлением о событиях, если доступ осуществляется через брандмауэр.
  • Firebird Embedded для создания каталогов на компакт-дисках, однопользовательских или ознакомительных версий приложений.

2011

2.1 (последний релиз 2.1.4 от 15.03.2011)

Среди нововведений необходимо выделить глобальные триггеры базы данных, общие табличные выражения (CTE), временные таблицы, возможность мониторинга базы данных через SQL, отмена зависших запросов, а так же новые SQL инструкции.

2.5

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

Новые возможности SQL в Firebird 2.5

  • Управление пользователями через SQL (CREATE USER/ALTER USER/DROP USER).
  • Модификация представлений через инструкции ALTER VIEW и CREATE OR ALTER VIEW.
  • Возможность изменять вычисляемые поля ALTER COLUMN.
  • Оператор SIMILAR TO позволяет проверять регулярные выражения в условии WHERE, CHECK и в операторе * IF расширения PSQL.

Прочие изменения в Firebird 2.5

  • Поддержка автономных транзакций в PSQL (хранимые процедуры, триггеры, оператор EXECUTE BLOCK.
  • Выполнение гетерогенных запросов через EXECUTE STATEMENT
  • VIEW на основе хранимых процедур
  • Таймауты запросов
  • Улучшенный мониторинг. MON$MEMORY_USAGE и др.
  • Принудительное отключение клиента через MON$STATEMENTS.
  • Новая системная роль RDB$ADMIN позволяет передавать SYSDBA свои привилегии другому юзеру в пределах базы данных.

2.5.1 (последний релиз от 4.10.2011)

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

  • Заметно увеличена производительность восстановления БД (gbak restore) на стадии добавления данных;
  • Добавлена поддержка записи в глобальные временные таблицы для баз, находящихся в режиме только для чтения. Увеличена производительность глобальных временных таблиц и эффективность работы сборщика мусора;
  • В PSQL добавлена поддержка контекстной переменной SQLSTATE, которая может использоваться в блоках WHEN наряду с переменными GDSCODE и SQLCODE для диагностики ошибок;
  • В API добавлены функции предобразования между BLOB.

Запуск набора тестов базы данных FPC

Может быть полезно запускать среду тестирования базы данных FPC (в каталоге packages\fcl-db\tests), когда вы охотитесь за ошибками, пытаетесь выяснить, как что-то работает или улучшаете код базы данных.

Сообщаем платформе, какую базу данных использовать

Вам нужно будет отредактировать INI-файл db test framework, чтобы сообщить исполняемому файлу теста, что ему нужно использовать вашу встроенную базу данных.
См. для получения инструкций о том, как это сделать.

Создание тестовой базы данных

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

Скопируйте библиотеки embedded Firebird и другие файлы для вашей архитектуры в тестовый каталог.

Затем создайте тестовую базу данных — вручную или программно/

Создание базы данных вручную

isql

create database 'test.fdb' user 'SYSDBA' password 'masterkey' page_size 16384 default character set UTF8;
exit;

Программное создание базы данных

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

program firebirdembeddedtest;
{$mode objfpc}{$H+}

uses 
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF} 
  Classes, SysUtils,
  sqldb, IBConnection {for Firebird};

const
  // Имя для базы данных. Обязательно укажите одно и то же имя в вашем database.ini
  DatabaseFile = 'test.fdb'; //Разумное имя для тестовой базы данных, верно?
var
  Fire TIBConnection;

begin
  //Подключение к базе данных Firebird
  //Следующая строка нужна для довольно старых версий FPC
  //UseEmbeddedFirebird: = true; 
  //Более новые версии сначала будут искать файл fbembed.dll в каталоге приложения автоматически 
  //Использование встроенного (и fbembed.dll) или обычного клиент/сервера (fbclient.dll) требует использования ibase60dyn
  Fire:=TIBConnection.Create(nil);
  try
    Fire.HostName := ''; //должен быть пустым для embedded Firebird; должен быть заполнен для клиент/сервера Firebird
    Fire.DatabaseName := DatabaseFile; //(путь и ) имя файла
    // Имя пользователя и пароль не имеют значения для аутентификации, но вы получаете авторизацию в базе данных    
    // на основе имени (и, возможно, роли), которое вы даете.
    Fire.Username := 'SYSDBA';
    Fire.Password := 'masterkey'; //пароль для SYSDBA по умолчанию
    Fire.Charset := 'UTF8'; //Отправка и получение строковых данных в кодировке UTF8
    Fire.Dialect := 3; //Никто больше не использует диалекты 1 или 2 (прим.перев.: это справедливо лишь в отношении новых проектов)
    Fire.Params.Add('PAGE_SIZE=16384'); //Мне нравится большой размер страницы (используется при создании базы данных). Полезно для больших индексов ⇒ больший возможный размер столбца
    // Выясните, есть ли база данных в каталоге приложения. 
    // Если нет, создайте его. Примечание: это может не сработать, если у вас недостаточно прав.

    // Если вы используете клиент / сервер, вам явно не нужна эта часть кода.
    if (not FileExists(DatabaseFile)) then
    begin
        writeln('Файл '+DatabaseFile+' не существует.');
        writeln('Создание базы данных Firebird embedded ...');
        // Создаем базу данных, поскольку она не существует
        try
          Fire.CreateDB; //Создаем файл базы данных.
        except
          on E Exception do
          begin
            writeln('ОШИБКА при создании базы данных. Возможно проблемы с загрузкой встроенной библиотеки:');
            writeln('- не все файлы присутствуют');
            writeln('- неправильная архитектура (например, 32 бит вместо 64 бит)');
            writeln('Exception message:');
            writeln(E.ClassName+'/'+E.Message);
          end;
        end;
        Fire.Close;
    end;
  finally
    Fire.Free;
  end; 
end.

Наконец, скомпилируйте и запустите dbtestframework.pas программы тестирования базы данных. Он должен генерировать вывод состояния на консоли и вывод XML в файлах с результатами теста, которые можно проанализировать и отправить разработчикам.

Что это такое

Firebird Embedded — это специальная версия сервера баз данных Firebird. Она позволяет вам запускать ваши программы без выделенного (прим.перев.: предварительно запущенного) сервера базы данных. Вместо этого вы добавляете библиотеку (.dll/.so/.dylib) в свое приложение) и позволяете вашему приложению получать доступ к файлу базы данных Firebird .fdb с помощью этой библиотеки.

Это похоже на работу таких программ, как Microsoft Access и LibreOffice Base.

Преимущества:

  • работает на многих архитектурах (Linux, macOS, Windows, FreeBSD, Solaris)
  • отдельная настройка сервера не требуется, что снижает сложность использования
  • вы можете легко переключаться с embedded на полноценный клиент/сервер — без изменения строк кода (кроме строки подключения). Это, вероятно, хорошее преимущество по сравнению с sqlite.
  • прим.перев.: не требуется пароль (он может быть произвольным)

Недостатки:

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

Написание UDR на языке Pascal

В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования.

В Firebird 3.0 была введена плагинная архитектура для расширения возможностей Firebird. Одним из таких плагинов является External Engine (внешние движки). Механизм UDR (User Defined Routines — определяемые пользователем подпрограммы) добавляет слой поверх интерфейса движка FirebirdExternal.

В данном руководстве мы расскажем как объявлять UDR, о их внутренних механизмах, возможностях и приведём примеры написания UDR на языке Pascal. Кроме того, будут затронуты некоторые аспекты использования нового объектно-ориентированного API.

Установка Firebird

1.   Диски куда будет устанавливаться FirebirdSQL cервер Firebird и любые базы данных которые вы создаете или к которым подключаетесь должны распологаться на жестком диске, который физически подключен к хост-компьютеру. Вы не можете расположить файлы сервера или любой другой базы данных на mapped drive, filesystem share или сетевой файловой системе.
Вы можете подключиться к базе данных расположенной на CD-ROM (в режиме чтения), но вы не можете запустить с него SQL сервер Firebird и не сможете обновить данные в базе.

2. Установочный скрипт или программа
Несмотря на то, что есть возможность установить Firebird простым копированием файлов, такая как «untarring» файла билда или распаковка .zip-файла, но при первой установке очень рекомендуется использование распространяемого комплекта ПО. Исполняемый файл установки под Windows, RPM-пакет (RedHat Package Manager) под Linux и официальный файл tar.gz для других POSIX-платформ.

2.1.  Платформа Windows
На серверных версиях Windows — Windows NT, 2000, ХР и Vista сервис Firebird запустится после завершения установки. После перезагрузки вашего компьютера он запустится автоматически.

Несерверные версии Windows — Windows 95, 98 и ME, не поддерживают сервисы. SQL cервер Firebird будет работать как приложение, защищенное другим приложением известное как Guardian. Если серверное приложение по какой-то причине завершилось неправильно, то Guardian попробует перезапустить его.
Копия клиентской библиотеки — fbclient.dll или gds32.dll будет установлена в системную директорию Windows.
2.2.  POSIX-платформы
В любом случае прочитайте release notes относящиеся к той версии Firebird которую вы собираетесь устанавливать. В них могут быть значительные отличия от релиза к релизу любой POSIX-совместимой операционной системы, в особенности относящиеся к категории open source. Где возможно, инженеры создающие билды для каждой версии Firebird, документируют любую известную проблему.
Если в вашем комплекте ПО нет копии release notes, то сходите на download-страницу веб-сайта Firebirdи скачайте копию оттуда.
Проще всего осуществить установку с использованием портов. Если порт под Firebird (InterBase) отсутствует его достаточно просто скачать в Интернете и установить в систему. На примере Freebsd. Заходим в /usr/ports/databases/firebird-server-xx (где хх — версия Firebird (InterBase)) и набираем make install. Все должно установиться. После чего аналогично поступаем с /usr/ports/databases/firebird-clientr-xx. В других Unix-овых системах установка через порты примерно такая же.
Если у вас есть дистрибутив Linux поддерживающий установку из RPM-пакетов, то, если необходимо, прочитайте соответствующую документацию для инструкций по использованию RedHat Package Manager’a. В большинстве дистрибутов у вас есть выбор производить ли установку из командной строки или посредством GUI интерфейса.
Для дистрибутивов не умеющих работать с RPM-пакетами и для ряда UNIX систем, используйте комплект „tar.gz». В release notes вы найдете подробные инструкции по установке.
В комплект включены shell-скрипты. В некоторых случаях, в release notes может быть написано чтобы вы изменили эти скрипты и произвели некоторые корректировки.
Для установки из rpm пакета необходимо выполнить следующую команду:
$rpm -Uvh Firebird.x.x.x.rpm
где Firebird.x.x.x.rpm является именем скачанного инсталляционного пакета.
Для установки с использованием пакета в формате tar.gz необходимо выполнить следующее: $tar -xzf Firebird.x.x.x.tar.gz 
$cd install 
$./install.sh

Выполнение этих команд приводит к одному и тому же результату — на Linux-машине будет установлен Firebird (InterBase). Вариант с архитектурой SuperServer будет функционировать в виде демона, a Classic — в виде сервиса.
Надо заметить, что приведенный порядок установки годится практически для любой версии Firebird (InterBase). Правда, для различных дистрибутивов Linux могут существовать свои особенности и хитрости при установке, так что лучше посмотреть рекомендации по установке для вашей версии ОС Linux/Unix.

Top 10 reasons to use Firebird Maestro

Latest Firebird versions support
Firebird Maestro supports all the latest versions of Firebird server
Powerful security management
Firebird security system is easy and at the same time really covenient in Firebird Maestro
Easy database objects management
Firebird Maestro is incredibly easy in database objects management
Clear in use
Even a newbie can use Firebird Maestro
Advanced SQL Editor
Firebird Maestro allows you to create and execute queries in the most convenient way
Powerful data export and import
Firebird Maestro provides you with advanced data export and import abilities
Full support for BLOB fields
Firebird Maestro has an ability to view BLOB data in various ways
Viewing data as diagrams
Firebird Maestro allows you to build diagrams based on Firebird server.
The fastest way for building queries
Firebird Maestro allows you to create the SELECT statements visually
Full customization according to your preferences and needs
Firebird Maestro admits to flexible customization

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

1. Пример для client/server:

Hostname: 192.168.1.1
* База данных находится на сервере с IP-адресом 192.168.1.1.
DatabaseName: /interdata/example.fdb  
* Имя файла базы данных - "example.fdb" в каталоге /interdata сервера (машина с IP-адресом 192.168.1.1).
Username: SYSDBA
Password: masterkey

2. Другой пример client/server:

Hostname: dbhost
* База данных находится на сервере с именем хоста dbhost
DatabaseName: F:\Program Files\firebird\examples\employee.fdb  
* Имя файла базы данных - "employee.fdb" в каталоге Program Files\firebird\examples на диске F: dbhost.
Username: SYSDBA
Password: masterkey

3. Пример для embedded-режима:


Hostname:
* Оставляя имя хоста пустым, выбирается embedded-режим.
DatabaseName: test.fdb
* Файл базы данных «test.fdb» находится в каталоге запускаемого приложения (убедитесь, что fbembed.dll находится в каталоге исполняемого файла приложения)
Username: SYSDBA
* Для встроенного сервера вы должны указать имя пользователя …
Password: (прим.перев.: вообще-то, это может быть любая строка, в т.ч. и пустая)
* ..

но не важно, какой пароль вы укажете.

Прим.перев.: выше приведенные примеры подразумевают, что используется порт по умолчанию 3050. Если номер порта отличается от стандартного (например, пусть будет 3051), то для каждого из выше приведенных примеров строка подключения (например, к утилите isql) соответственно будет выглядеть следующим образом:

SQL>connect '192.168.1.1/3051:/interdata/example.fdb' -user 'SYSDBA' -password 'masterkey';
SQL>connect 'dbhost/3051:F:\Program Files\firebird\examples\employee.fdb' -user 'SYSDBA' -password 'masterkey';
SQL>connect 'test.fdb' -user 'SYSDBA' -password '';

Начиная с версии FB 3 появилась возможность указывать другие протоколы коннекта:

INET-протокол (для TCP/IP) в виде строки [/]:

Тогда строка подключения (например, к утилите isql) для выше указанных примеров соответственно будет выглядеть так:

SQL>connect 'inet://192.168.1.1:3051:/interdata/example.fdb' -user 'SYSDBA' -password 'masterkey';
SQL>connect 'inet://dbhost:3051:F:\Program Files\firebird\examples\employee.fdb' -user 'SYSDBA' -password 'masterkey';
SQL>connect 'inet://test.fdb' -user 'SYSDBA' -password '';

INET-протокол поддерживает URL-стиль (для адресов IPv4 и IPv6) строки подключения вы виде шаблона . Тогда в строке подключения часть строки заменяется с inet:// на inet4:// или inet6:// соответственно. Например:

SQL>connect 'inet6://192.168.1.1:3051:/interdata/example.fdb' -user 'SYSDBA' -password 'masterkey';

Примечание: по умолчанию Firebird прослушивает нулевой адрес IPv6 (: 🙂 и принимает все входящие соединения, будь то IPv4 или IPv6. Если эти адреса имеют ненулевое значение, то в строке подключения они обрамляются квадратными скобками, чтобы устранить двусмысленность при использовании двоеточия в качестве разделителя

Например, если , то строка подключения примет вид:

SQL>connect '://192.168.1.1:3051:/interdata/example.fdb' -user 'SYSDBA' -password 'masterkey';

и далее по аналогии…

  • протокол NetBEUI, или WNET (именованные каналы) — только для Windows! — в виде строки .
  • протокол XNET для локальных подключений с использованием общей памяти.

Последние два протокола имеют строку подключения, аналогичную INET, только вместо inet:// подставляются wnet:// или xnet:// соответственно.

Exec — Выполнение кода, консоль запросов и не только!

Незаменимый инструмент администратора БД и программиста:
Выполняйте произвольный код из режима 1С Предприятие; сохраняйте/загружайте часто используемые скрипты; выполняйте запросы с замером производительности запроса в целом и каждой из временных таблиц в частности, а также с просмотром содержимого временных таблиц; произвольным образом изменяйте любые объекты БД, редактируя даже не вынесенные на формы реквизиты и записывая изменения в режиме «ОбменДанными.Загрузка = Истина»; легко узнавайте ИД объектов БД; выполняйте прямые запросы к SQL с замером производительности и не только!

5 стартмани

Заключение

В ходе данной работы были рассмотрены основные особенности базы данных Firebird, а также была произведена ее установка на ОС Ubuntu 17. Был продемонстрирован процесс создания простой базы данных с помощью isql.

На основе проделанной работы можно сделать вывод о том, что Firebird является довольно простой базой данных, работа с которой происходит через SQL, что добавляет удобства при переходе с любой другой базы данных, которая работает с языком SQL. В сравнении с MySQL, как с другой SQL базой данных с открытым исходным кодом, Firebird является менее удобной при работе и доставляет гораздо больше проблем при установке. Если для установки MySQL достаточно одного apt-get, до у Firebird пришлось потратить некоторое время для того, чтобы разобраться, почему база данных не хочет устанавливаться, либо не хочет работать после установки. Однако у Firebird есть некоторые плюсы, которые связаны с потребностью тех, кто им пользуется, например, эта база данных занимает меньше места в сравнении с MySQL и поддерживает большее количество платформ, что может оказаться для кого-то более нужным, чем некоторые функции, которые есть в MySQL, но отсутствуют в Firebird.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector