Содержание материала

11 Конфигурирование СУБД для работы системы Electro

11.1 Informix

Текущая версия Electro не поддерживает автоматическое создание ODBC-источников данных для Informix. Необходимо вручную создать DSN Electro и ElectroCNF (и соответствующие БД). Перед созданием БД необходимо определить национальную локаль – прописать в реестре (HKLM/Software/Informix/OnLine/SERVER/Environment) и в окружении переменные
CLIENT_LOCALE ru_ru.CP1251
DB_LOCALE ru_ru.CP1251
DELIMIDENT Y
Последняя настройка, к сожалению, необходима т.к. Electro использует в названиях столбцов таблиц наименования совпадающие с ключевыми словами используемого диалекта SQL (ключевое слово TYPE).

Итак, примерная последовательность шагов.

  • Установить

IDS (сервер);
Client SDK (ODBC-драйвер);
dbAccess (© V.Shulzhenko) (инструмент администратора)

  • Определить национальную локаль (см.выше).
  • Определить учетную запись, кот. будет использоваться системой Electro.
  • Создать БД Electro, ElectroCNF
  • Создать ODBC-источники данных Electro, ElectroCNF. Не забудьте указать локали.
  • В реестр HKLM/Software/NIVUS GmbH/Electro занести данные учетной записи (User,Password)
  • Собственно, только теперь можно пробовать запускать Electro.

11.2 Cache

По умолчанию пользователь _system пароль SYS

Установить Support delimited identifiers YES
(РедакторКонфигурации à Дополнительно à SQL)

11.3 MySQL

По умолчанию пользователь root пароль пустой.

Восстановление БД.
ПЕРЕД ВЫПОЛНЕНИЕМ КАКИХ-ЛИБО ПОПЫТОК ВОССТАНОВЛЕНИЯ БД:
1. ОСТАНОВИТЕ СЕРВЕР;
2. CДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ФАЙЛОВ БД !!

Необходимо руководствоваться соответствующей документацией по MySQL серверу.

На практике встречалась ситуация, когда после внезапного отключения питания (ИБП не был установлен) постоянно возникала ошибка чтения таблицы Trend, причем постоянно для определенных данных – “Got error ### from table handler” c номерами ошибок:

  • 126 = Index file is crashed / Wrong file format
  • 127 = Record-file is crashed
  • 132 = Old database file
  • 134 = Record was already deleted (or record file crashed)
  • 135 = No more room in record file
  • 136 = No more room in index file
  • 141 = Duplicate unique key or constraint on write or update
  • 144 = Table is crashed and last repair failed
  • 145 = Table was marked as crashed and should be repaired

БД была восстановлена командой
Myisamchk –r trend

Упаковка БД.
Файлы Trend.myd, Trend.myi имеют тенденцию увеличивать свой размер. Убрать лишний мусор (и повысить производительность сервера) можно последовательностью команд
Myisampack trend
Myisamchk –rq trend
Не забудьте перед этим остановить сервер MySQL.

Mysql.exe - консоль. Примеры работы:
1) Подключиться к БД Electro:
connect electro;
2) Оптимизировать таблицу Trend:
optimize table trend;
3) Сохранить таблицу Trend (файлы Trend.frm, Trend.myd) в каталог d:/MyArchive
backup table trend to ‘d:/MyArchive’;
4) Восстановить таблицу Trend из каталога d:/MyArchive (по файлам Trend.frm, Trend.myd)
drop table trend; -- перед restore необх. удалить существующий экземпляр
restore table trend from ‘d:/archive’;