SELTA/SELTAEXECONVERT
Конвертор
Данная утилита позволяет переносить данные из MS SQL Server в PostgreSQL и обратно.
Производится перенос только данных, структуру базы (таблицы, индексы, хранимые процедуры) требуется создавать отдельно (Для 1С 7.7 это делается при помощи конфигуратора, подробнее смотрите в разделе Перенос данных из MS SQL Server в PostgreSQL для 1С 7.7).
Перенос данных производится через промежуточный дамп в формате CSV. Фактически, необходимо сначало выгрузить данные (таблицы) в CSV-дамп (текстовые файлы) из базы, а затем загрузить их в другую.
На следующем рисунке представлено главное окно утилиты:
"PostgreSQL > CSV" - выгрузка данных из PostgreSQL в CSV-дамп
"MS SQL Server > CSV" - выгрузка данных из MS SQL Server в CSV-дамп
"CSV > PostgreSQL" - загрузка данных из CSV-дампа в PostgreSQL
"CSV > MS SQL Server" - загрузка данных из CSV-дампа в MS SQL Server
CSV-дамп имеет следующий формат:
- все таблицы выгружаются в текстовые файлы (на каждую таблицу по одному файлу, имена файлов соответствуют именам таблиц)
- дополнительно создается файл _list_tables.inf который содержит список всех таблиц
- все записи экранированы кавычками
- все кавычки внутри записей дублируются
- столбцы разделяются знаком ";" (точка с запятой)
- строки разделяются знаком переноса на новую строку
- кодировка файлов – ASCII
При нажатии кнопки копирования данных из Базы в CSV-дамп открывается следующее окно:
Здесь необходимо ввести параметры подключения к базе и указать путь, по котрому будет сохранен дамп: по указанному вами пути будет создан каталог с именем базы, и уже в него будут помещены файлы CSV-Дампа.
При нажатии кнопки Выполнить начнется копирование данных, это может занять очень продолжительное время, до нескольких часов для очень больших баз. Во время копирования будет отображаться диалоговое окно, показывающее статус операции: какая таблица копируется в данный момент, сколько таблиц уже скопировано из скольки.
При нажатии кнопки копирования данных из CSV-Дампа в базу открывается окно:
Здесь так же указываются параметры подключения к базе данных и путь к CSV-Дампу - путь к файлу _list_tables.inf, который содержит вспомогательную информацию.
При нажатии кнопки Выполнить начнется копирование данных в базу, данная операция занимает больше времени, чем Создание CSV-Дампа.
Если в дампе таблиц больше, чем в базе данных (так бывает, если Дамп делался с работающей БД 1С, а восстанавливается в "чистую" конфигурацию) будет возвращена ошибка
Для избежание подобной ошибки, установите флажок "Пропускать таблицы отсутствующие в базе".
Загрузка CSV дампа в MS SQL Server выполняется аналогично.