Экспорт объектов и данных с оперативным созданием внешних ссылок

 
-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