Экспорт объектов и данных с оперативным созданием внешних ссылок
-sf
Задает сохранение структуры объектов и данных конкретного пользователя БД в единый текстовый SQL-скрипт (одновременно неявно задается и ключ -s для создания ссылок (внешних ключей) на выгружаемую таблицу, создаваемую утилитой loarel из экспортированной таблицы). В этом случае при последующей загрузке в БД экспортированных данных корректность внешних ссылок будет проверяться при добавлении каждой записи.
По умолчанию (без ключей -d и -f) экспорт производится в SQL-скрипт с именем dbstore.sql, который создается в каталоге запуска утилиты.
Формат экспорта BLOB-данных задается ключом -bh.
При отсутствии ключа -w утилита будет производить попытку экспорта объектов и данных всех пользователей, которые зарегистрированы в БД. Экспорт будет успешным только при указании правильных паролей пользователей.
При применении ключа -sf происходит игнорирование следующих ключей: -o (в режимах D, N, B, T, F, M), -r, -s, -z, -pathsBlobOEM, -j, -useOwnerName, -cl.
Экспорт данных, представленных в разных кодировках, выполняется следующим образом:
-
по умолчанию (без ключа
-k) в SQL-скрипте перед текстом команды на создание таблицы вставляется командаSET NAMES"<кодовая страница>", где <кодовая страница> – это кодировка символьных данных экспортируемой таблицы; -
перед созданием других объектов БД записывается аналогичная команда, при этом "<кодовая страница>" принимает значение кодировки канала, установленного при запуске утилиты;
-
задание ключа
-k"<кодовая страница>" определяет экспорт всех данных в единой кодировке. ЗапросSET NAMESзаписывается при этом один раз в начале SQL-скрипта; -
при использовании совместно с ключом
-sf, ключа-compatibleWith5командыSET DATABASE NAMESиSET DATABASE DEFAULT CHARACTER SETне экспортируются, а командаSET NAMES"<кодовая страница>" записывается один раз в закомментированном виде. В этом случае <кодовая страница> зависит от используемой платформы (CP866 – для ОС типа Windows, KOI8-R/ISO – для ОС типа Linux, ЗОСРВ Нейтрино).
Примеры
1)
dbstore -sf -f export_db.sql -u SYSTEM/MANAGER8 -w SYSTEM -k "UTF-8"
Экспортирует данные и структуру объектов пользователя SYSTEM в файл export_db.sql текущего каталога, при этом все данные экспортируются в кодировке UTF-8.
2)
dbstore -sf -u SYSTEM/MANAGER8
Экспортирует структуру объектов и данные всех пользователей БД в единичный SQL-скрипт с именем по умолчанию dbstore.sql в подкаталоге DB_STORE.
3)
Для ОС Linux:
dbstore -sf -d /usr/linter/dump -f export_db.sql -u SYSTEM/MANAGER8 -w SYSTEM