Экспорт объектов и данных с оперативным созданием внешних ссылок
-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 – для ОС типа UNIX).
Примеры
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