Использование Firebird SQL
Содержание
Использование Firebird SQL#
Firebird SQL - это база данных (БД) с возможностью сохранения данных измерений, журналов и структурированных конфигураций.
Базы данных в формате Firebird используются следующими программами:
Утилита |
Название |
Назначение |
|---|---|---|
|
Сохранение в базе данных журналов и конфигураций. |
|
|
Просмотр данных Черного ящика. |
|
|
Сохранение данных измерений. |
Эта БД может использоваться в двух режимах:
Сохранение данных измерений.
В этом режиме структура базы содержит только данные о значениях переменных.
Если в базе планируется сохранять только значения переменных, то необходимо использовать шаблон запросов БД: Сервер Interbase или аналог (раздельные БД значений, хранение данных).
Сохранение данных измерений, конфигураций и журналов.
В этом режиме структура базы данные о значениях переменных, конфигурацию и текст журналов в форме. которые обеспечивают возможность использования этих данных в стороннем ПО.
В этом режиме необходимо использовать шаблон запросов БД: Сервер 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.
Установить Firebird в виде «SuperServer».
Настроить окружение для сервера, для этого добавить в переменную PATH путь для утилит
C:\FB\bin.
Создать каталоги:
C:\RTSBaseFB - будет использоваться для хранения активной базы.
C:\RTSArchive - будет использоваться для хранения архивной базы.
Настройка сервера Firebird SQL#
Для выполнения команд управления БД необходимо использовать какую-либо утилиту командной строки, потому что утилиты управления выполнены в виде консольных утилит Windows.
Подсказка
Удобнее всего управление БД осуществлять используя менеджер файлов типа FAR, который можно скачать по адресу http://www.farmanager.com/, или аналогов.
С помощью любого текстового редактора необходимо отредактировать настройки
Firebird, которые записаны в файлеC:\FB\firebird.conf.
Установить:
- DatabaseAccess = Full
Разрешить доступ ко всем БД на машине.
- Authentication = mixed
Разрешить использовать учетную запись текущего пользователя для доступа к БД.
Сменить пароль пользователя
SYSDBAнаsys
gsec -user sysdba -pass masterkey -mo sysdba -pw sys
Разрешить текущему пользователю (администратору) автоматически логиниться как администратор БД:
gsec -user sysdba -pass sys -mapping set
Создать пользователей системы.
Пользователь, который будет владеть базой данных и писать в нее данные:
gsec.exe -add rts -pw rts
Пользователь, который будет иметь право читать данные из БД без возможности их изменения:
gsec.exe -add inspector -pw inspector
Установить алиас:
Отредактировать файл
C:\FB\aliases.conf:
rts = C:\RTSBaseFB\RTS.FDB
rts2 = C:\RTSBaseFB\RTS2.FDB
rtsArch = C:\RTSArchive\RTS.FDB
Создание пустой базы данных для использования в системе РТ#
Для создания БД можно воспользоваться скриптом Firebird_Initialize.sql или скачать готовую БД с сайта IngortechSCADA.
Для создания новой БД скриптом необходимо выполнить скрипт инициализации БД:
Скопировать скрипт
C:\RTS\SQLExport\Firebird_Initialize.sqlв каталогC:\RTSBaseFBНаходясь в каталоге
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
В стандартном диалоге настройки доступа к данным ODBC системы создать новый алиас доступа к используемой БД с именем FB.
В качестве имени пользователя и пароля необходимо указать rts.
Создание алиаса BDE#
С помощью утилиты dbexplor создать алиас BDE для доступа к БД.
При создании алиаса необходимо использовать драйвер доступа Firebird/InterBase(r) driver.
Если при создании алиаса BDE в списке доступных драйверов нет нужного драйвера, то необходимо обновить драйвера BDE.
Подсказка
Полный комплект драйверов можно установить с помощью пакета установки BDE, который можно скачать с сайта IngortechSCADA.
Настройка сервера РТС#
Для корректной работы сервера необходимо внести следующие изменения в настройки сервера системы РТС:
Выбрать алиас, сконфигурированный для доступа к БД FB.
Указать имя и пароль пользователя для доступа к БД в значение
rts.Выбрать шаблон доступа к БД Сервер Interbase или аналог с единой БД значений и хранением конфигурации.
Установить настройку Размер кеша SQL запросов в величину «0».
Использование утилит доступа к базе данных#
В системе РТС существует две утилиты, которые организуют специальный доступ к БД:
|
Утилита предназначенная для сохранения конфигурации в БД. |
|
Утилита предназначенная для просмотра значений из долговременного архива. |
Предупреждение
Символы ХХХ в названии обозначают тип используемой БД.
Для работы с БД Firebird SQL предназначены утилиты ExportIB.exe и rtSQLInspectorFB.exe соответственно.
Фактически, для каждой из утилит может быть использовано много различных программ, каждая из которых предназначена для использования с какой-либо специфической БД.
Настройка ExportIB.exe#
Для работы утилиты ExportIB.exe с БД необходимо указать следующие настройки:
Указать имя алиаса для доступа к БД в значение
FB.Указать имя и пароль пользователя в значение
rts.
Настройка rtSQLInspectorFB.exe#
Для работы утилиты rtSQLInspectorFB.exe с БД необходимо указать следующие настройки:
Указать имя алиаса для доступа к БД в значение
FB.Указать имя и пароль пользователя в значение
inspector.