Что такое firebird sql server - DOC

Document Sample
Что такое firebird sql server - DOC Powered By Docstoc
					Начинаем работать с Firebird Sql Server
Теги: Firebird C++, Firebird Delphi, Firebird .Net, Firebird VBScript, Firebird VBA, Firebird Visual
Basic

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

Какую версию Firebird выбрать?
На сегодняшний момент новейшая версия – Firebird 2.5. Стабильная версия Firebird 2.1.
Скачать Firebird 2.1
Скачать 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.

Firebird Embedded
Firebird Embedded Server – предназначен для встраиваемых баз данных. Состоит из одной dll –
fbembed.dll, которая включает в себя клиент и сервер Firebird Super Server.

Firebird Embedded не требует установки на клиентской рабочей станции. Достаточно просто
скопировать fbembed.dll и еще несколько файлов клиенту на компьютер.

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

Firebird Embedded Server распространяется отдельным дистрибутивом.
Скачать архив с Firebird Embedded.
Если затрудняетесь с выбором
Если вы не уверены в выборе типа установки 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;

Если все сделано правильно он вернет путь к подключенной базе данных:
===========================================================================
D:\TEMP\TEST.FDB

Безопасность Firebird
      Firebird хранит всех пользователей в одной служебной базе данных sequrity.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 Delphi, Interbase Delphi

Firebird и .Net
Для доступа к Firebird из .Net используется библиотека ADO .Net.

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

Дополнительные материалы по теме:
    Примеры работы с ADO .Net для начинающих
    Новые возможности Firebird 2.0. Примеры для ADO .Net (c#)
    Новые возможности Firebird 2.1. Примеры для ADO .Net (c#)
Firebird и C++
В состав IBProvider Professional Edition входит C++ библиотека для работы с OLE DB
провайдерами. Она предоставляет самый быстрый способ работы с OLE DB провайдерами из Visual
C++ 2007-2008, а так же из C++ Builder.

Примеры для Firebird C++ и Interbase C++

Редактирование базы 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.

Список утилит администрирования

    Утилита                 Описание                Лицензия                     Сайт
Flame Robin          Поддерживает             Распространяется       http://www.flamerobin.org/
                     Firebird. Кросс-         бесплатно, open
                     платформенный.           source
                     редактор SQL, DDL,
                     управление
                     пользователями,
IBExpert             Редакторы DDL и          Бесплатен для          http://ibexpert.net/ibe/
                     DML. Визуальный          exUSSR
                     построитель запросов.
                     Автозавершение кода,     Для остальных – от
                     Metadata Extractor, а    179 Euro
                     так же множество
                     других возможностей.
IB/FB Development    Визуальный дизайнер      Бесплатно для          http://www.sqlly.com/
Studio               баз данных,              России.
                     встроенный MERGE,
                     scheduler, Code auto     Для остальных от 149
                     completion, анализатор   Euro
                     запросов, монитор
                     производительности.
Blaze Top             Инструмент              Бесплатно для           http://devrace.com/ru/blazetop/
                      разработчика и          exUSSR
                      администратора баз
                      данных.                 Для остальных от 129
                      Поддерживает Firebird   Euro.
                      и Interbase
Database Workbench    Поддерживает            Лицензируется           http://www.upscene.com/
                      несколько серверов      отдельно на Interbase
                      баз данных, среди       и отдельно на
                      которых есть Firebird   Firebird
                      и Interbase
                                              171$ за каждый
                     Отладка хранимых         движок (Interbase или
                     процедур, анализ         Firebird)
                     планов, встроенные
                     средства переноса
                     данных и метаданных
Если в данном списке отсутствует ваша утилита, напишите нам на ibprovider@ibprovider.com и мы
добавим еѐ описание.

Полезные ссылки
      10 причин перевести приложение для Firebird и Interbase на 64 бита.
      Справочная документация по работе с Firebird и Interbase
      Документация по работе с Firebird и Interbase