Firebird для windows

Содержание:

Формат

GRANT {
<privileges> ON  {tablename | viewname}
TO {   <object_list>
| <user_list>  
| GROUP Unix_group}
| EXECUTE ON PROCEDURE procname 
TO {<object_list> | <user_list>}
| <role_granted> TO {PUBLIC | <role_grantee_list> }
}  grantor];

<privileges> ::= ALL  | <privilege_list>

<privilege_list> ::= {
SELECT
| DELETE
| INSERT
| UPDATE )]
| REFERENCES )]
} 

<object_list> ::= {
PROCEDURE procname
| TRIGGER trigname
| VIEW viewname
| PUBLIC
} 

<user_list> ::= {
 username
|  rolename
| Unix_user
} 

<role_granted> ::= rolename 

<role_grantee_list> ::=  username  username  …]
Аргумент Описание
tablename Имя таблицы, к которой должно быть применена привилегия.
viewname Имя представления, к которому должно быть применена привилегия.
procname Имя хранимой процедуры, для которой должна быть выдана привилегия EXECUTE или которой будут даны привилегии.
col Столбец таблицы, к которому должна быть применена привилегия.
Unix_group Имя группы пользователей в операционных системах семейства UNIX.
username Имя пользователя, для которого выдаются привилегии или которому назначается роль.
rolename Имя роли.
trigname Имя триггера.
grantor Пользователь от имени, которого предоставляются привилегии.

Запуск набора тестов базы данных 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 что это за программа

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)

Улучшение безопасности

Системные привилегии

Эта функция позволяет предоставлять и отменять некоторые специальные привилегии обычным пользователям для выполнения задач, которые исторически ограничивались только SYSDBA, например: запуск утилит gbak, gfix, nbackup, доступ к таблицам мониторинга, запуск пользовательской трассировки и т.д.

Набор системных привилегий может быть указан при создании/изменении роли.

Выдача ролей другой роли

Firebird 4.0 позволяет назначать роль другой роли. Это явление получило название «Кумулятивные роли». Этот термин относится к ролям, встроенным в другие роли посредством оператора . Оператор GRANT ROLE расширен до следующего синтаксиса

Ключевое слово DEFAULT в операторах GRANT и REVOKE

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

SQL SECURITY

Все объекты метаданных, содержащие DML или PSQL код, могут выполнятся в одном из следующих режимов:

  • С привилегиями вызывающего пользователя (привилегии CURRENT_USER);
  • С привилегиями определяющего пользователя (владельца объекта метаданных).

Исторически сложилось, что все PSQL модули по умолчанию выполняются с привилегиями вызывающего пользователя. Начиная с Firebird 4.0 появилась возможность указывать объектам метаданных с какими привилегиями они будут выполняться: вызывающего или определяющего пользователя. Для этого используется предложение SQL SECURITY, которое можно указать для таблицы, триггера, процедуры, функции или пакета. Если выбрана опция INVOKER, то объект метаданных будет выполняться с привилегиями вызывающего пользователя. Если выбрана опция DEFINER, то объект метаданных будет выполняться с привилегиями определяющего пользователя (владельца). Эти привилегии будут дополнены привилегиями, выданными самому PSQL модулю оператором GRANT.

В данном случае пользователю JOE достаточно только привилегии EXECUTE на процедуру p. Если бы процедура была создана с привилегиями вызывающего пользователя (опция INVOKER), то ещё потребовалось бы выдать привилегию INSERT для процедуры p на таблицу t.

Встроенные криптографические функции

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

Поддержка шифрования утилитой gbak

Поддержка шифрования базы данных была введена ещё в Firebird 3.0, однако шифровать/дешифровать файлы резервной копии сделанной утилитой gbak можно было только внешними инструментами. В Firebird 4.0 добавлена поддержка шифрования резервной копии с помощью того же плагина шифрования, что используется при шифровании базы данных.

Пример создания шифрованной резервной копии

Резервная копия шифруется с помощью того же самого плагина шифрования, с которым зашифрована база данных.

Пример восстановления резервной копии

Установка режимов клиент/сервер и встроенного режима сервера

Firebird может работать в режиме клиент/сервер и в режиме встроенного сервера.

Client/Server означает, что у вас где-то есть физический сервер Firebird: либо на локальной машине, либо на другой машине, доступной по вашей сети. Соединения с сервером проходят через TCP/IP; при указании соединения имя хоста содержит имя или IP-адрес. Серверу Firebird для «общения» с вашими компонентами доступа необходима fbclient.dll/fbclient.so.nnn (вместе с его файлами поддержки).

Embedded Firebird означает, что ваше приложение для доступа к базе данных Firebird на локальной машине загружает единственную библиотеку, которая является и сервером, и клиентской библиотекой Firebird «в одном флаконе». При указании строки соединения имя хоста всегда пусто (не указывается). Серверу Firebird для «общения» с вашими компонентами доступа необходима fbembed.dll/fbembed.so (вместе с его файлами поддержки).
См. вики-страницу на Firebird embedded для более подробной информации.

Обратите внимание, что fbembed.dll может использоваться как для клиент-серверного, так и для встроенного использования, поэтому установка только этой dll может быть разумной задачей.

Прим.перев.: необходимо уточнить, что выше описанное справедливо для версий FB 1.5, FB 2.0, FB 2.1 и FB 2.5. Начиная с версии FB 3.0, режим используемого сервера зависит от строки подключения, а клиентская библиотека на все случаи жизни одна — все та же fbclient.dll/libfbclient.so.3.0.n (где n — номер билда версии FB).

Windows

Win64: пожалуйста, см. предупреждение о нежелательном использовании некоторых версий FPC/Lazarus Win64.

Для Windows: (это относится ко всем драйверам базы данных SQLDB) необходимо иметь fbclient.dll (или fbembed.dll’ ) и его поддержку dll, установленных в:

  • каталог проекта и каталог вывода исполняемого файла/каталог приложения (например, lib /что-то еще в каталоге вашего проекта)
  • или каталог в вашем PATH (не в системном каталоге)
  • Если вы хотите использовать системный каталог, пожалуйста, используйте официальный установщик и поставьте галочку «скопировать fbclient в системный каталог»

Как и для всех библиотек DLL (базы данных), разрядность библиотеки DLL должна соответствовать вашему приложению: используйте 32-разрядную библиотеку для 32-разрядной скомпилированной программы и 64-разрядную библиотеку для 64-разрядной программы.

Unix/Linux/macOS

В Linux/macOS/FreeBSD должна быть установлена ​​клиентская библиотека Firebird (например, вашим менеджером пакетов; установите обычный пакет и пакет -dev), или они должны быть прописаны в путях поиска библиотеки.

FPC ищет наиболее распространенные имена библиотек (например, libfbclient.so.2.5, libgds.so и libfbembed.so.2.5; пожалуйста, проверьте ibase60.inc, если ваша версия отличается). При желании можно указать имя библиотеки. Есть 2 способа сделать это:

  • использовать компонент TSQLDBLibraryLoader из sqldblib (FPC 2.7.1). Работает для всех компонентов коннектора SQLDB.
  • вызвать функцию
    function InitialiseIBase60(Const LibraryName  AnsiString)  integer;
    

    с правильным именем библиотеки (для этого может потребоваться использовать модуль ibase60dyn).

Резервирование базы данных

Создание резервных копий

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

По умолчанию эти базы имеют следующие
имена:

рабочая база
данных

для
версии 6ib_pdp.fdb

для версси 7pdp7.fdb

база данных экспертной системы

для
всех версий: knowbots.fdb

Имена баз данных могут отличаться.

Резервная
копия рабочей базы имеет префикс «pdp_»,
т.е. в каталоге резервных копий создаются два вида файлов pdp_*.fbk
— резервные копии рабочей базы и
*.fbk — резервные копии базы знаний.

 Резервные копии имеют 4 уровня и
затираются «по кругу»:

  • ежедневные —
    создаются каждый день — хранятся неделю (файлы именуются D1.fbk
    — D7.fbk, где цифра — день недели, первый день —
    понедельник);

  • еженедельные —
    создаются каждую неделю — хранятся месяц (файлы именуются W1.fbk
    — W5.fbk, где цифра — номер недели в месяце);

  • ежемесячные —
    создаются каждый месяц — хранятся год (файлы именуются M1.fbk
    — M12.fbk, где цифра — номер месяца);

  • ежегодные — создаются каждый год — не
    удаляются (файлы именуются Y20xx.fbk).

Механизм автоматического резервирования
позволяет настроить каталоги для хранения резервных копий БД. Это
осуществляется при помощи диалогового окна «Системные настройки»
Настройка|Системные
настройки
, группа полей «Резервные
копии». 

Внимание!
Пути — локальные пути
сервера БД. «Общий каталог» — указывает путь для
всех уровней резервных копий

Все копии сохраняются в него, если для
каждого уровня не указан отдельный каталог. Если поле «Общий
каталог» не заполенно, то резервные копии сохраняются в каталог
по умолчанию BACKUPS, который расположен в
каталоге, где
находится сама база данных. Различные
каталоги для резервных копий каждого уровня можно задать
индивидуально в соответствующих полях

«Общий каталог» — указывает путь для
всех уровней резервных копий. Все копии сохраняются в него, если для
каждого уровня не указан отдельный каталог. Если поле «Общий
каталог» не заполенно, то резервные копии сохраняются в каталог
по умолчанию BACKUPS, который расположен в
каталоге, где
находится сама база данных.
Различные
каталоги для резервных копий каждого уровня можно задать
индивидуально в соответствующих полях.

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

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

Восстановление из резервной копии

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

1) ошибочные изменения, сделанные пользователем

2) повреждение базы данных.

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

Внимание!
Советуем пользоваться этой
функцией крайне аккуратно,только когда восстановление данных вручную
невозможно!

Для выполнения восстановления из резервной
копии Вы можете воспользоваться утилитой restorer.exe,
входящей в комплект поставки. Подробно читайте
файл справки restorer.chm

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

Внимание!
В случае повреждения базы
данных немедленно обратитесь к разработчикам системы Диагностика+!

Полезные ссылки

Документация Firebird
http://www.firebirdsql.org/index.php?op=doc

Утилита резервного копирования (англ)
 http://www.firebirdsql.org/manual/gbak.html#gbak-intro

Утилита резервного копирования (рус)  
http://www.ibase.ru/devinfo/gbak.htm

Слепки состояния базы данных (database snapshots) на основе порядка фиксации

В Firebird 4.0 кардинально переработана концепция создания слепков состояния базы данных (database snapshot). Ранее для создания слепков (snapshot) требовалось создать копию TIP (transaction inventory page), в Firebird 4 достаточно просто запомнить номер фиксации (Commit Number). Таким образом, процесс создания слепка в Firebird 4 требует значительно меньше ресурсов, чем ранее.

Режим изолированности READ COMMITTED READ CONSISTENCY

Поскольку процесс создания слепка состояния базы данных в Firebird 4, обходится значительно дешевле чем ранее. Это позволяет создавать такие слепки не только в момент старта транзакции SNAPSHOT, но и для каждого SQL запроса и открытого курсора в новом режиме изолированности транзакции . В режиме изолированности запросы всегда читают согласованное состояние базы данных на момент старта запроса.

Промежуточная сборка мусора

Ранее ненужные версии записей (мусор) могли быть удалены только для версий, созданных транзакцией, номер которой меньше чем OST (Oldest Snapshot Transaction). То есть мусор можно было удалить только из конца цепочки версий. Новая концепция создания слепков состояния базы данных (database snapshot) позволила удалять мусор в цепочке версий между активными версиями записи (версий для которых есть активный слепок состояния). Это позволяет значительно сократить длину цепочки версий при наличии длительных активных транзакций и сократить их негативное влияние на производительность.

Компонент TFDTransaction

Параметр
Назначение
Connection
Связь с компонентом FDConnection.
Options.AutoCommit
Управляет автоматическим стартом и завершением транзакции. Значение по умолчанию True.
Если значение этого свойства установлено в True, то FireDAC делает следующее:Запускается транзакция (если требуется) перед выполнением каждой SQL команды, и завершает транзакцию после выполнения SQL команды. Если команда выполнится успешно, то транзакция будет завершена как COMMIT, иначе — ROLLBACK.
Если приложение вызывает метод StartTransaction, то автоматическое управление транзакциями будет отключено, до тех пор, пока транзакция не завершится как Commit или Rollback.

В Firebird автоматическое управление транзакциями эмулируется самими компонентами FireDAC.
Options.AutoStart
Управляет автоматическим запуском транзакции. По умолчанию True.
Options.AutoStop
Управляет автоматическим завершением транзакции. По умолчанию True.
Options.DisconnectAction
Действие, которое будет выполнено при закрытии соединения, если транзакция активна. Значение по умолчанию xdCommit. Возможны следующие варианты:xdNone – ничего не будет сделано. Действие будет отдано на откуп СУБД;
xdCommit – подтверждение транзакции;
xdRollback – откат транзакции.

В других компонентах доступа значение по умолчанию для подобного свойства xdRollback. Поэтому необходимо выставлять это свойство вручную в то значение которое действительно требуется.
Options.EnableNested
Управляет вложенными транзакциями. Значение по умолчанию True.
Когда транзакция активна, то следующий вызов StartTransaction создаст вложенную транзакцию. FireDAC эмулирует вложенные транзакции, используя точки сохранения, если СУБД не поддерживает вложенные транзакции в явном виде. Чтобы отключить вложенные транзакции, установите EnableNested в False и следующий вызов StartTransaction вызовет исключение.
Firebird не поддерживает вложенные транзакции в явном виде.
Options.Isolation
Определяет уровень изолированности транзакции

Это самое важное свойство транзакции. Значение по умолчанию xiReadCommited

Возможны следующие варианты:xiUnspecified – используется уровень изоляции по умолчанию для вашей СУБД (в Firebird это SNAPSHOT, т.е. с параметрами read write concurrency wait);
xiDirtyRead – этого уровня изолированности в Firebird не существует поэтому вместо него будет использован READ COMMITED;
xiReadCommited – уровень изолированности READ COMMITED. В Firebird такая транзакция стартует с параметрами read write read_committed rec_version nowait;
xiRepeatableRead – этого уровня изолированности в Firebird не существует поэтому вместо него будет использован SNAPSHOT;
xiSnapshot – уровень изолированности SNAPSHOT. В Firebird такая транзакция стартует с параметрами read write concurrency wait;
xiSerializable – уровень изолированности SERIALIZABLE. На самом деле в Firebird не существует транзакции с данным уровнем изолированности, но он эмулируется запуском транзакции с параметрами read write consistency wait.

Options.Params
Специфичные для СУБД параметры транзакции. В настоящее время используется только для Firebird и Interbase. Возможные значения:read
write
read_committed
concurrency
consistency
wait
nowait
rec_version
no rec_version

Options.ReadOnly
Указывает является ли транзакция только для чтения. По умолчанию False. Если установлено в True, то любые изменения в рамках текущей транзакции невозможны, в Firebird в этом случае отсутствует значение read в параметрах транзакции.
Установка этого свойства в True позволяет СУБД оптимизировать использование ресурсов.

Замечание
Такую транзакцию нельзя использовать для отчётов (особенно если они используют несколько последовательных запросов), потому что транзакция с режимом изолированности READ COMMITED во время перечитывания данных будет видеть все новые committed-изменения.
Для отчётов рекомендуется использовать короткую транзакцию только для чтения с режимом изолированности SNAPSHOT (Options.Isolation = xiSnapshot и Options.ReadOnly= True). В данном примере работа с отчётами не рассматривается.

Характеристики программы для работы с базами данных Firebird

Komp.Guru > Программы > Характеристики программы для работы с базами данных Firebird

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

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

  • Основные характеристики
  • Установка и работа программы
  • Удаление Firebird

Firebird представляет собой систему управления базами данных (СУБД). Для этой утилиты характерна кроссплатформенность (работа на всех операционных системах), что делает ее доступной для любого настольного П. К. При создании софт разработчики брали за основу открытый исходный код Borland InterBase 6.0. Бесплатная версия доступна уже более 20 лет.

Основные характеристики

Особенностями утилиты являются:

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

Основные характеристики программы Firebird:

  1. Совместимость со всеми распространенными О. С. При работе с операционной системой Windows программа доступна в виде обычного приложения.
  2. Установка осуществляется в автоматическом режиме. По ее окончании можно начинать полноценное использование программы без ввода дополнительных настроек.
  3. Можно расширить функциональность СУБД за счет внешних функций.
  4. Поддерживаются триггеры и хранимые процедуры.
  5. Записи разных версий обрабатываются без ограничения соседних.
  6. Триггеры и хранимые процедуры создаются на языке SQL.
  7. Отсутствие необходимости участия системных администраторов.
  8. Базы данных можно сохранять на компакт дисках и других съемных носителях в режиме «только для чтения».
  9. Поддерживается множество языков кодировки, включая Unicode.
  10. Создание резервной копии осуществляется без остановки сервера.

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

Работа программы замедляется при увеличении внутренней фрагментации базы.

Создатели и активные пользователи программы работают над устранением этих проблем. В интернете есть сообщество, где пользователи обмениваются опытом и наработками. Там также можно быстро получить необходимую помощь.

Интеграция 1С и C#. Обращение к 1С через COM. Создание номенклатуры и выполнение запроса к 1С из C# на примере интеграции с Союз-PLM (система информационной поддержки жизненного цикла изделий). Обработка «Загрузка заказа на сборку». (ERP)

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

На практике, это управление конструкторской документацией, интегрированное с САПР, бизнес-процессы, файловый архив. Все это работает в SQL и шевелится с помощью скриптов на C#. Скрипты свободно  отлаживаются в MS Visual Studio. Подробнее смотрите на их сайте: http://www.programsoyuz.ru/products/system-soyuz-plm.html  Редактирование, конструирование и использование бизнес-процессов на порядок лучше систем на базе 1С из тех, что я изучил.

1 стартмани

Доступ к базе данных 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

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

Установка 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.

Набор подсистем «Умные таблицы»

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

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

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

Adblock
detector