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 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\.
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 запрос вернет путь к подключенной базе данных:
Firebird хранит всех пользователей в одной служебной базе данных security.fdb.
Начиная с Firebird 2.1 реализована поддержка SSPI аутентификации средствами Windows. Администраторы домена на уровне БД определяются как суперпользователи SYSDBA.
В Firebird 3.0 планируется реализовать возможность хранения пользователей в клиентской базе данных.
Пользователь SYSDBA. Смена пароля по умолчанию
SYSDBA — это административный пользователь Firebird с исключительными правами. Пароль по умолчанию: masterkey. Для того чтобы сменить пароль, используйте утилиту gsec из состава Firebird:
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).
В состав IBProvider Professional Edition входит C++ библиотека, которая предоставляет самый быстрый способ работы с OLE DB провайдерами из Visual C++ 2005-2008, а так же из C++ Builder.
В пустой базе данных необходимо создать таблицы, связи между таблицами, первичные ключи, индексы, хранимые процедуры, генераторы и другие объекты. Для редактирования баз данных Firebird вы можете использовать утилиту isql.exe.
Вставляем одну запись и делаем выборку из таблицы:
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, распространяется бесплатно.
Сайт: FlameRobin
IBExpert
IBExpert — Поддерживает Firebird, InterBase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, а так же множество других возможностей.
Лицензия: Бесплатный для exUSSR, для остальных: от 179 евро.
Сайт: IBExpert
IB/FB Development Studio
IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.
Лицензия: Бесплатно для России, для остальных: от 149 евро.
Сайт: IB/FB Development Studio
Blaze Top
Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и InterBase.
Лицензия: Бесплатно для России, для остальных: от 129 евро.
Сайт: Blaze Top
Database Workbench
Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и InterBase.
Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.
Лицензируется отдельно на InterBase и отдельно на Firebird. 171$ за каждый движок (InterBase или Firebird).
Сайт: Database Workbench
Если в данном списке отсутствует ваша утилита, напишите на ibprovider.com и мы добавим её описание.