Экспорт таблиц для последующего импорта в ранние версии СУБД

 
-compatibleWith5

Ключ используется для экспорта данных из БД ЛИНТЕР более поздней версии, которая поддерживает различные кодировки, с целью последующего импорта в БД ЛИНТЕР версии 5.x, которая поддерживает только OEM-кодировку (CP866 – для ОС типа Windows, KOI8-R/ISO – для ОС типа UNIX).

Примечание

Ключ учитывается только при экспорте всей БД (а не отдельных её объектов).

При задании ключа:

  • в команды скриптов загрузки БД для утилиты SPC (транслятор триггеров и хранимых процедур) не добавляется параметр -c < имя кодировки >;

  • если кодировка словаря БД CP1251, то запросы на создание триггеров/процедур будут переведены в кодировку CP866 (для ОС типа Windows) или KOI8-R/ISO (для ОС типа UNIX);

  • для ОС типа Windows данные и пути к файлам выгруженных данных сохраняются в кодировке OEM;

  • для ОС типа UNIX будет использована кодировка KOI8-R/ISO, при этом ключ задания кодировки -k игнорируется;

  • в параметры утилиты загрузки данных (loarel) в скриптовом файле не добавляется ключ -pathsBlobOEM;

  • в bat-файл для утилиты inl не добавляются команды создания системных таблиц $$$CHARSET, $$$TRANSL, $$$CSALIAS (файл cstables.sql), заполнения таблицы $$$CHARSET кодировками (файл charsets.sql для однобайтовых кодировок и файл mbcps.sql для многобайтовых кодировок).

При экспорте данных информация о кодировке словаря БД и кодировке БД по умолчанию (SQL-команды database names и default character set) сохраняется в файле db_chars.sql. Чтобы исключить создание этого файла для режима совместимости, необходимо вместе с ключом -compatibleWith5 задавать одновременно и ключ -skipCharsets.

Пример
dbstore -u SYSTEM/MANAGER8 -ot AUTO -compatibleWith5  >dbs.txt
set LINTER_CP=CP866
inl -u "SYSTEM"/ -f tab_0001.sql
set LINTER_CP=
loarel -u "SYSTEM"/ -t "AUTO" -d "SYSTEM.lod" -s 1 -f "AUTO.lod"  -k CP866
set LINTER_CP=CP866
inl -u "SYSTEM"/ -f idx_0001.sql
inl -u "USR1"/ -f tab_001f.sql
inl -u "USR2"/ -f tab_0020.sql
inl -u "USR3"/ -f tab_0021.sql