Авторизируйтесь,
чтобы продолжить
Некоторые функции доступны только зарегистрированным пользователям
Неправильный логин или пароль
Добавить софт
Мой софт

EMS SQL Data Import

Автор: Денис Федотов
Опубликовано: 25.02.2009
Источник: SoftKey.info

Компания EMS известна как разработчик универсального инструментария для выполнения типовых операций над базами данных. Пакет EMS SQL Management Studio совместим со всеми основными СУБД (MySQL, MS SQL Server, PostgreSQL, Interbase/Firebird, Oracle и др.). Продукт включает оболочку и восемь специализированных утилит, призванных повысить эффективность работы и снизить трудозатраты администратора и/или разработчика БД. Обзор посвящен одной из компонент — EMS Data Import.

Для тестирования была выбрана совместимая с MySQL модификация. В состав дистрибутива MySQL входит утилита mysqlimport, которая использует расширение LOAD DATA INFILE для заполнения таблиц данными из текстовых файлов. Заявленный разработчиками функционал Data Import существенно шире.

Для получения trial version требуется регистрация на сайте разработчика, после чего продукты становятся доступны для 30-дневного тестирования. Предусмотренные ограничения функционала носят количественный характер и не являются препятствием для всесторонней оценки ПО.

На момент подготовки обзора текущей версией является 3.1.0.7, размер дистрибутива — 6,5 Мб. На этапе установки выбор языка интерфейса ограничен тремя вариантами: EN, DE, FR. После запуска программы доступно семь локализаций интерфейса, включая русский. Благодаря предельно простому формату LNG-файлов, содержащих все текстовые надписи интерфейса утилиты, перевод на экзотические языки пользователь может выполнить самостоятельно. Кроме того, на сайте разработчика доступна русскоязычная версия руководства в форматах PDF и CHM. Англоязычная документация входит в состав дистрибутива.

Предусмотрено два способа работы: с применением графической оболочки либо через консоль. В первом случае пользователь запускает GUI-версию (MyImport.exe) и последовательно выполняет десяток шагов, начиная с определения параметров подключения к СУБД и заканчивая командой на импорт данных. На любом этапе с помощью меню Tools настройки можно сохранить в файл (.ITM — Import TeMplate) для последующего использования в качестве шаблона (в том числе в консольном режиме) либо загрузить из ранее созданного файла. По соображениям безопасности перед сохранением настроек рекомендуется удалить параметры подключения к серверу СУБД, по-крайней мере данные учетной записи (login хранится в исходном виде, password подвергается обратимому преобразованию). В том же меню Tools находится пункт Preferences для настройки значений по умолчанию, а также некоторых особенностей интерфейса, включая выбор языка интерфейса.

Панель настроек интерфейса

После запуска приложения открывается welcome screen, где отображается регистрационная информация. Trial version выдает предупреждение о том, сколько дней осталось до завершения тестирования, а также о действующем ограничении функционала: возможен импорт 20% от исходного числа строк в источнике данных.

Шаг 1: параметры подключения и авторизации. Для локального соединения следует указать порт и параметры учетной записи с достаточными для импорта правами доступа. При подключении к удаленному серверу потребуется ip-адрес либо hostname. Дополнительно можно задать кодировку (charset). При наличии технической возможности рекомендуется задействовать туннельный протокол SSH, обеспечивающий шифрование данных.

Параметры соединения и авторизации

Переход к следующему шагу возможен после успешного подключения к СУБД. В случае ошибки потребуется проверить параметры и убедиться, что установке соединения не препятствует firewall.

Шаг 2: выбор источников данных. В качестве таковых могут выступать файлы DBF, TXT, CSV, XML, HTML, документы MS Excel/Word (включая относительно свежий формат MSO2007: XLSX и DOCX) и документы в форматах альтернативного офисного пакета OpenOffice (ODS и ODT), а также базы данных в формате MS Access (MDB). Источники добавляются последовательно, при этом каждому назначается одна из существующих таблиц в БД. Наличие фильтра, позволяющего отображать в списке выбранных для импорта файлов только определенный тип может быть полезна при работе с большим количеством источников. К сожалению, тип/формат источника определяется приложением по расширению файла, что не всегда бывает удобно.

Шаг 3: установка соответствия между колонками файла и полями выбранной для него таблицы. Предусмотрена возможность пропуска заголовка (N первых строк). Набор доступных на этом этапе опций определяется особенностями формата. Например, для источников типа CSV можно изменить сепаратор (delimiter — знак запятой по умолчанию) и знак выделения строковых констант (quote — двойные кавычки по умолчанию). Для XLS полям таблицы БД назначаются колонки либо строки нужного листа документа.

Соответствие колонок источника полям таблицы БД

Остальные шаги, за исключением десятого, являются необязательными и могут быть отключены с помощью опции Don't show this step anymore. Ранее отключенный шаг можно сделать доступным через настройки Tools/Preferences/General.

Шаг 4: базовая настройка форматов представления данных. Для каждого источника данных можно изменить принятые по умолчанию формы представления даты/времени (полную и краткую), разделители (десятичный, тысячных разрядов, даты/времени). Допускается более одного варианта значений Null, а также возможных значений булевых переменных (True/False).

Шаг 5: тонкая настройка форматов, индивидуальная для каждого поля таблицы. Предусмотрено заполнение целочисленными значениями с заданным шагом, текстовой константой, значением NULL. Имеется возможность добавления или удаления кавычек. Для каждого поля может быть задан список строковых констант для автоматической замены.

Шаг 6: определение режима импорта. Необходимо выбрать один из шести вариантов (Insert All, Insert New, Update, Update or Insert, Delete, Delete or Insert). В зависимости от версии СУБД могут быть доступны дополнительные опции раздела Native Mode. В случае с MySQL это тип режима импорта: Single Commands, Batch Insers либо CSV Insert.

Шаг 7: определение ключей в таблицах для всех режимов, за исключением Insert All.

Шаг 8: финальные настройки процедуры импорта. Здесь можно задать условие для выполнения операции COMMIT (по умолчанию 1000 записей) либо указать, что COMMIT выполняется однократно после обработки всех источников. Дополнительно можно установить ограничение на число импортируемых записей, а также указать файл для сохранения формируемого SQL-сценария.

Шаг 9: тонкая настройка и обработка. Для каждой базы данных можно задать SQL-сценарии, которые должны быть исполнены перед процедурой импорта и после ее завершения.

Шаг 10: исполнение процедуры импорта. Имеется возможность задать условие останова — до первой ошибки. На этом этапе логично сохранить настройки в файл. Следует иметь в виду, что при сохранении шаблона без использования файлового диалога под уже существующим именем дополнительных предупреждений не выдается, прежняя версия файла будет утрачена.

После начала импорта в этом же окне для каждого источника данных будет выдан краткий журнал операций (log): время начала импорта файла с указанием полного пути к нему и полного имени таблицы назначения, число импортированных записей, число обработанных строк, число вставленных (обновленных, замененных и т. д.) строк, время и результат завершения процедуры импорта. При необходимости журнал может быть сохранен в файл.

Следует отметить исключительно простой формат файла-шаблона: три секции общих настроек (CONNECTION, PREFERENCES и #General#), а также по восемь секций для каждого источника данных (FILE_xx, FILE_xx_XLS/FILE_xx_CSV/etc, FILE_xx_MAP, FILE_xx_BASE_FORMATS, FILE_xx_BOOLEAN_TRUE, FILE_xx_BOOLEAN_FALSE, FILE_xx_NULL_VALUES, FILE_xx_IMPORT_OPTIONS). Двузначный счетчик в названии секции накладывает ограничение на число источников, которое, впрочем, нельзя считать существенным: в ситуациях, когда требуется одновременный импорт из более чем сотни файлов, принято использовать специализированный инструментарий. В документации дано краткое описание формата и назначения параметров шаблона. "Говорящие" названия параметров позволяют при необходимости выполнить оперативную правку шаблона с помощью любого текстового редактора либо сформировать необходимый набор параметров собственными программными средствами.

Консольная версия утилиты (MyImportC.exe) в качестве обязательного параметра получает имя файла шаблона. Дополнительно можно задать путь к log-файлу, а также источник данных взамен определенного параметром FileName секции [FILE_00] шаблона. Очевидно, последняя опция имеет смысл, когда используется один источник данных. В более сложных ситуациях потребуется модицифировать шаблон. Возможен запуск утилиты в фоновом режиме.

При текущей ценовой политике EMS коммерческим пользователям целесообразно рассмотреть вопрос приобретения всего пакета (8 специализированных утилит + оболочка EMS SQL Manager) с 50-процентным дисконтом, нежели набора из 3-4 утилит по сопоставимой цене:

  • некоммерческая лицензия на Data Import for MySQL — $47,00 / $59,00 / $66,00;
  • коммерческая лицензия на Data Import for MySQL — $95,00 / $119,00 / $133,00;
  • коммерческая лицензия на EMS SQL Management Studio for MySQL — $468,00 / $584,00 / $655,00.
Разделенные дробью цены соответствуют вариантам поставки с одним, двумя и тремя годами технического сопровождения соответственно. Для образовательных учреждений предсмутрен льготный вариант лицензирования.



Статистика
Всего программ 30421
Скачиваний сегодня 819
Скачиваний вчера 1830