Использование Firebird SQL#

Firebird SQL - это база данных (БД) с возможностью сохранения данных измерений, журналов и структурированных конфигураций.

Базы данных в формате Firebird используются следующими программами:

Утилита

Название

Назначение

ExportIB.exe

Экспорт конфигурации

Сохранение в базе данных журналов и конфигураций.

rtSQLInspectorFB.exe

АРМ Инспектора

Просмотр данных Черного ящика.

rtVarSrv.exe

Сервер РТС

Сохранение данных измерений.

Эта БД может использоваться в двух режимах:

  1. Сохранение данных измерений.

    В этом режиме структура базы содержит только данные о значениях переменных.

    Если в базе планируется сохранять только значения переменных, то необходимо использовать шаблон запросов БД: Сервер Interbase или аналог (раздельные БД значений, хранение данных).

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

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

    В этом режиме необходимо использовать шаблон запросов БД: Сервер Interbase или аналог (единая БД значений, экспорт конфигураций).

Для использования в системе РТС БД Firebird необходимо:

  • Установить Firebird сервер, настроить сервер.

Предупреждение

Данное описание составлено с ориентацией на версию Firebird 2.5.

  • Создать базу данных, необходимую для использования в системе РТС.

  • Установить драйвер ODBC для доступа к БД Firebird SQL.

  • Настроить алиас BDE для использования БД Firebird SQL.

  • Внести изменения в форматы шаблонов, использующихся сервером РТС для работы с БД в формате FB.

Используемые утилиты#

На сайте IngortechSCADA можно скачать все необходимые утилиты.

Для использования БД Firebird понадобятся:

  • Драйвер ODBC для Firebird.

  • Установочный пакет Firebird 2.5.

  • Так же, для манипуляций БД может быть использована графическая утилита управления БД Firebird flamerobin.

Установка и настройка#

Для установки базы данных Firebird необходимо произвести следующие действия:

Установить Firebird в каталог C:\FB.

../_images/базы1.png

Установить Firebird в виде «SuperServer».

../_images/базы2.png

Настроить окружение для сервера, для этого добавить в переменную PATH путь для утилит C:\FB\bin.

../_images/базы3.png

Создать каталоги:

C:\RTSBaseFB - будет использоваться для хранения активной базы.

C:\RTSArchive - будет использоваться для хранения архивной базы.

Настройка сервера Firebird SQL#

Для выполнения команд управления БД необходимо использовать какую-либо утилиту командной строки, потому что утилиты управления выполнены в виде консольных утилит Windows.

Подсказка

Удобнее всего управление БД осуществлять используя менеджер файлов типа FAR, который можно скачать по адресу http://www.farmanager.com/, или аналогов.

  • С помощью любого текстового редактора необходимо отредактировать настройки Firebird, которые записаны в файле C:\FB\firebird.conf.

  1. Установить:

DatabaseAccess = Full

Разрешить доступ ко всем БД на машине.

Authentication = mixed

Разрешить использовать учетную запись текущего пользователя для доступа к БД.

  1. Сменить пароль пользователя SYSDBA на sys

gsec -user sysdba -pass masterkey -mo sysdba -pw sys
  1. Разрешить текущему пользователю (администратору) автоматически логиниться как администратор БД:

gsec -user sysdba -pass sys -mapping set
  1. Создать пользователей системы.

  • Пользователь, который будет владеть базой данных и писать в нее данные:

gsec.exe -add rts -pw rts
  • Пользователь, который будет иметь право читать данные из БД без возможности их изменения:

gsec.exe -add inspector -pw inspector
  1. Установить алиас:

  • Отредактировать файл C:\FB\aliases.conf:

rts = C:\RTSBaseFB\RTS.FDB
rts2 = C:\RTSBaseFB\RTS2.FDB
rtsArch = C:\RTSArchive\RTS.FDB

Создание пустой базы данных для использования в системе РТ#

Для создания БД можно воспользоваться скриптом Firebird_Initialize.sql или скачать готовую БД с сайта IngortechSCADA.

Для создания новой БД скриптом необходимо выполнить скрипт инициализации БД:

  1. Скопировать скрипт C:\RTS\SQLExport\Firebird_Initialize.sql в каталог C:\RTSBaseFB

  2. Находясь в каталоге C:\RTSBaseFB выполнить скрипт командой:

isql.exe -s 3 –ch WIN1251 -b -i "Firebird_Initialize.sql"

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

C:\RTSBaseFB>isql.exe -s 3 –ch WIN1251 -b -i "Firebird_Initialize.sql"

Use CONNECT or CREATE DATABASE to specify a database

В случае успешного выполнения команды будет создана новая БД C:\RTSBaseFB\RTS.FDB.

Предупреждение

В случае возникновения каких либо ошибок в выводе на экран будет содержаться сообщение об ошибке.

Пример:

C:\RTSBaseFB>isql.exe -s 3 –ch WIN1251 -b -i "Firebird_Initialize.sql"
Use CONNECT or CREATE DATABASE to specify a database
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 11, column 1 -)
At line 533 in file Firebird_Initialize.sql

В этом случае необходимо скопировать полученный текст и выслать его разработчику вместе с используемым скриптом Firebird_Initialize.sql.

Подготовка сервера Firebird SQL к монопольному использованию#

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

Предупреждение

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

Для стандартной эксплуатации в режиме шахты или тестового использования системы РТС эти настройки производить не нужно.

Редактирование настроек FB осуществляется в файле C:\FB\firebird.conf.

  • В указанном файле необходимо установить:

DatabaseAccess = None

Запрет ссылок на какие-либо базы данных, кроме перечисленных в алиасах.

Authentication = native

Запрет использования текущего пользователя системы для логина к БД.

  • Запретить текущему пользователю (администратору) автоматически логиниться как администратор БД:

gsec -user sysdba -pass sys -mapping drop

Создание алиаса ODBC#

Для создания алиаса ODBC необходимо установить драйвер ODBC запустив установщик Firebird_ODBC_2.0.0.151_Win32.exe

../_images/базы4.png

В стандартном диалоге настройки доступа к данным ODBC системы создать новый алиас доступа к используемой БД с именем FB.

В качестве имени пользователя и пароля необходимо указать rts.

../_images/базы5.png

Создание алиаса BDE#

С помощью утилиты dbexplor создать алиас BDE для доступа к БД.

../_images/базы6.png

При создании алиаса необходимо использовать драйвер доступа Firebird/InterBase(r) driver.

../_images/базы7.png

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

Подсказка

Полный комплект драйверов можно установить с помощью пакета установки BDE, который можно скачать с сайта IngortechSCADA.

Настройка сервера РТС#

Для корректной работы сервера необходимо внести следующие изменения в настройки сервера системы РТС:

  • Выбрать алиас, сконфигурированный для доступа к БД FB.

  • Указать имя и пароль пользователя для доступа к БД в значение rts.

  • Выбрать шаблон доступа к БД Сервер Interbase или аналог с единой БД значений и хранением конфигурации.

  • Установить настройку Размер кеша SQL запросов в величину «0».

../_images/базы8.png

Использование утилит доступа к базе данных#

В системе РТС существует две утилиты, которые организуют специальный доступ к БД:

ExportХХХ.exe

Утилита предназначенная для сохранения конфигурации в БД.

rtSQLInspectorХХХ.exe

Утилита предназначенная для просмотра значений из долговременного архива.

Предупреждение

Символы ХХХ в названии обозначают тип используемой БД.

Для работы с БД Firebird SQL предназначены утилиты ExportIB.exe и rtSQLInspectorFB.exe соответственно.

Фактически, для каждой из утилит может быть использовано много различных программ, каждая из которых предназначена для использования с какой-либо специфической БД.

Настройка ExportIB.exe#

Для работы утилиты ExportIB.exe с БД необходимо указать следующие настройки:

  • Указать имя алиаса для доступа к БД в значение FB.

  • Указать имя и пароль пользователя в значение rts.

../_images/базы28.png

Настройка rtSQLInspectorFB.exe#

Для работы утилиты rtSQLInspectorFB.exe с БД необходимо указать следующие настройки:

  • Указать имя алиаса для доступа к БД в значение FB.

  • Указать имя и пароль пользователя в значение inspector.

../_images/базы9.png