Contacts     ->      ICQ:    699 512 265,         E-Mail: CerebroSQL@gmail.com

  • YouTube Social  Icon

Перенос данных между разными СУБД

Data transfer  - механизм, предназначенный для переноса данных (кода) : 

  • между базами данных (один тип СУБД)

  • между базами данных (разный тип СУБД)

  • из базы в файл в виде команд

Поддерживаются следующие типы операций:

  • Oracle -> Oracle

  • SQLite -> SQLite

  • PostgreSQL -> PostgreSQL

  • MySQL -> MySQL

  • Oracle -> File

  • Oracle -> SQLite

  • Oracle -> PostgreSQL

  • Oracle -> MySQL

  • SQLite -> File

  • SQLite -> Oracle

  • SQLite -> PostgreSQL

  • SQLite -> MySQL

  • PostgreSQL -> File

  • PostgreSQL -> Oracle

  • PostgreSQL -> SQLite

  • PostgreSQL -> MySQL

  • MySQL -> File

  • MySQL -> Oracle

  • MySQL -> SQLite

  • MySQL -> PostgreSQL

Запуск мастера: в главном окне программы нажать кнопку DB и в выпадающем меню выбрать "Data transfer"

После запуска мастера переноса данных, открывается страница выбора типа операции (направления переноса данных).

SQLite -> File

Служит для выгрузки данных из базы SQLite в файл на диске. В файл выгружаются команды языка SQL.

Настройка параметров выгрузки данных

Список "Database list" содержит все соединения с базами SQLite созданные в программе

p.s.: механизм "Data transfer" работает только с соединениями созданными в программе ранее, не поддерживается возможность указания параметров соединения в ручном режиме

Последовательность действий

  • В списке "Database list" установить чеки рядом в нужными базами [соединениями]

для обновления списка служит кнопка "refresh" в заголовке блока

  • Нажать кнопку "Load" (нажатие данной кнопки приводит к загрузке списка объектов из выделенных баз)

Список объектов отображается в "Object list". Чек рядом с названием списка служит для выделения всех записей в списке или для снятия выделения со всех записей.

  • Выбрать из списка "Object list" объекты данные из которых будут выгружаться в файл 

Table: выгружается код создания таблицы и данные в ней располагающиеся

View, Index, Trigger: выгружается код создания объекта

  • В поле "File path" указать полный путь к файлу выгрузки данный.

Для открытия диалога выбора файла воспользоваться кнопкой с изображением папки

Для выбора файла по умолчанию нажать кнопку с изображением зеленого прямоугольника, при этом:

Путь по умолчанию:  $CERA_HOME\config\backup\<File name>.txt , где

$CERA_HOME - полный путь до exe файла программы

<File name> - Имеет следующую структуру: Export_data_sqlite_<список выбранных баз>_<текущая дата и время>

  • Блок "Parameter"

    • Чек "Save all source" - выгрузить код создания всех объектов вне зависимости от выбранных объектов в списке "Object list"

    • Чек "Data only" - не сохранять код создания объекта, только команды с данными

  • Блок "BLOB"​

    • Чек "Ignore" игнорировать поля с типом данных "BLOB"​

    • Поле "Save folder" - пeть до директории для сохранения данных из полей с типом данных BLOB

    • Поле "BLOB position" - служит для задания смещения при чтении данных из полей BLOB

    • Поле "File type" - служит для указания расширения сохраняемых файлов с данными BLOB. Расширение указывается без точки

Важно! При обработке колонок с типом данных BLOB в командах сохраняется ссылка на созданный файл. Исходя из этого, данный механизм можно использовать как средство перемещения данных типа "BLOB" на диск, с сохранением в таблице ссылки на файл

После выбора всех параметров, нажать кнопку "Next".

Отобразиться краткий отчет о выполняемых операциях

Для запуска задания нажать кнопку "Start"

Лог выполнения задания

После запуска выполнения задания программа пишет информацию о его выполнении в:

  • В окно "report"

  • В файл на диске. Файл создается по пути указанном в поле File path с тем же именем, но расширением log

  • В монитор "CerebroSQL"

Пример данных формируемых программой

Код формируемый программой [Export_data_sqlite_db_13_01_000515.txt]

~

insert into db.CER_USR_MANUAL (c_id,c_parent,c_own,c_name,c_text,c_exp) values (1,3,'','Directory','d:\CeraSQL\config\backup\BLOB\CER_USR_MANUAL_0_0.txt',1);
insert into db.CER_USR_MANUAL (c_id,c_parent,c_own,c_name,c_text,c_exp) values (2,3,'','First start','d:\CeraSQL\config\backup\BLOB\CER_USR_MANUAL_1_0.txt',1);
insert into db.CER_USR_MANUAL (c_id,c_parent,c_own,c_name,c_text,c_exp) values (3,3,'','Multiplayer','d:\CeraSQL\config\backup\BLOB\CER_USR_MANUAL_2_0.txt',1);
insert into db.CER_USR_MANUAL (c_id,c_parent,c_own,c_name,c_text,c_exp) values (4,1,'Option','remove option','d:\CeraSQL\config\backup\BLOB\CER_USR_MANUAL_3_0.txt',1);
insert into db.CER_USR_MANUAL (c_id,c_parent,c_own,c_name,c_text,c_exp) values (5,1,'Linux','ORACLE: hugepages','d:\CeraSQL\config\backup\BLOB\CER_USR_MANUAL_4_0.txt',1);

~