Importexportdatasql — Бесплатный Конвертер Данных Mssql



Введение Очень часто возникает задача конвертации данных из одной базы данных в другую, из внешнего файла разных форматов в базу данных и наоборот. При этом типы данных внутри базы данных могут быть не только текстовыми, но и двоичными (binary или varbinary).

Известно, что двоичные и текстовые данные усекаются и не полностью выводятся в SQL Server Management Studio. Из-за этих недостатков мне пришлось написать собственное приложение для преобразования данных в/из MSSQL на C# (.

NET Framework 4.0).

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

Приложение портативное, без рекламы и не требует доступа в Интернет.



Возможности приложения

  1. Результатом SQL-запроса выборки данных формируются данные в формате SQL с проверкой наличия записи в таблице по заданному пользователем условию WHERE.
  2. Результаты нескольких SQL-запросов объединяются в один файл, если пользователь указывает одно и то же имя выходного файла в разных задачах.

  3. Все настройки хранятся в XML-файле.

  4. Возможность запуска из консоли
  5. Быстрая загрузка/выгрузка в базу данных при работе с CSV
  6. Возможность загрузки файлов Excel в двух режимах.

  7. Выполняются только отмеченные задачи
  8. Задачи, выполненные с ошибками, выделяются красным цветом, а задачи, выполненные без ошибок, — зеленым.

    Сообщение об ошибке отображается не только в журнале, но и в виде подсказки напротив строки, где произошла ошибка.



Интерфейс приложения

При запуске приложения необходимо подключиться к базе данных.



ImportExportDataSql — бесплатный конвертер данных MSSQL

После успешного подключения к базе данных отображается список задач.



ImportExportDataSql — бесплатный конвертер данных MSSQL



Типы задач



Сохранить из базы данных в файл

Преобразование полей двоичных типов данных из базы данных в файл.

Выбирать этот пункт нужно тогда, когда файлы хранятся в базе данных в двоичном виде и вам необходимо загрузить эти файлы на диск.

В этом случае вы можете настроить имя загружаемого файла, его идентификатор и поле двоичного типа с содержимым файла, задав эти поля с помощью оператора SQL.

Сохранение из базы данных в файл (утилита bcp)

Задача этого типа предполагает использование утилиты bcp. Результатом выполнения задачи этого типа будет BAT-файл и файл формата (с расширением fmt).

Файл BAT можно изменить по желанию, что повышает гибкость.

После запуска BAT-файла файлы, скопированные из базы данных, будут созданы в текущем каталоге.



ImportExportDataSql — бесплатный конвертер данных MSSQL



Сохранить из файла в базу данных

Файлы из указанной пользователем папки будут загружены в указанную таблицу и поле.



ImportExportDataSql — бесплатный конвертер данных MSSQL



Сохранение из базы данных в SQL-скрипт

Используя этот метод, вы можете скачать один файл, или всю папку, или просто список указанных файлов, или как оператор в SQL-запросе.

Если установлен флажок «Имена полей в условии UPDATE», то выходной SQL-запрос будет сформирован с проверкой существования записи по этим полям в условиях INSERT и UPDATE. Если флажок «Имена полей в условии UPDATE» снят, то запрос будет формироваться только на вставку записи (INSERT) без проверки существования записи.

Пример выгрузки SQL-запроса:

ImportExportDataSql — бесплатный конвертер данных MSSQL



Из базы данных в скрипт SQL (только INSERT)

В отличие от типа задачи «Сохранить из базы данных в SQL-скрипт», эту опцию следует использовать для сокращения текста SQL-запроса, использующего только оператор INSERT. Флажок «Имена полей в условии UPDATE» работает аналогично описанному выше: в типе задачи «Сохранить из БД в SQL-скрипт».



Из базы данных в сценарий SQL (только ОБНОВЛЕНИЕ)

В отличие от типа задачи «Сохранить из базы данных в SQL-скрипт», эту опцию следует использовать для сокращения текста SQL-запроса, в котором используется только оператор UPDATE. Флажок «Имена полей в условии UPDATE» работает аналогично описанному выше: в типе задачи «Сохранить из БД в SQL-скрипт».



Статический SQL-скрипт

Если вам необходимо подготовить базу данных перед выполнением, например, вставки данных, то этот запрос будет выгружен без каких-либо изменений и добавлен в SQL-файл на выходе.



Сохранение из Excel в скрипт SQL

Преобразует данные из Excel в SQL-скрипт, где можно указать не только имя файла и имя листа, но и номер строки, с которой начать чтение, и номер последней обработанной строки.

Тип обработки файла Excel «Поиск по названию» выполнит загрузку с поиском по указанному пользователем тексту заголовка; последовательность полей не важна и может быть изменена.

Тип обработки файла Excel «Преобразовать все значения ячеек в таблицу» предполагает указание нескольких обязательных полей: номера строки, номера столбца, значения ячейки и необязательных полей: имени листа и имени файла.

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



Сохранить из базы данных в CSV

Простая загрузка данных из базы данных в CSV с использованием символа-разделителя точки с запятой и строки, заключенной в двойные кавычки.



Сохранить из CSV в SQL

Аналогично загрузке из Excel, но более расширено параметрами «Символ-разделитель», «Код кодировки», «Заменить пустые значения на NULL» и «Количество строк в блоке».

Файлы обрабатываются построчно, даже если они заняты другим приложением.

Результат обработки записывается в файл SQL блоками.



Сохранить из CSV в БД

Загрузка происходит непосредственно в базу данных очень быстро, блоками, за счет использования класса BulkInsert. Большие файлы CSV (несколько ГБ) можно загрузить в базу данных за несколько минут.

ImportExportDataSql — бесплатный конвертер данных MSSQL



Дальнейший список улучшений

  • Добавьте функцию преобразования структуры базы данных, проверку существования объектов базы данных.

  • Добавляйте теги к задачам и фильтруйте по тегам.

  • Добавьте возможность выбора формата SQL для генерации данных, чтобы можно было работать не только с MSSQL, но и с другими СУБД.



Заключение

Я надеюсь, что это приложение поможет вам в вашей работе.

Выкладываю для бесплатного использования.

Скачать приложение для Windows ImportExportDataSql (бесплатно) сообщество ВК для поддержки пользователей и желающих пообщаться с автором.

Теги: #C++ #.

NET #sql #ms sql server #Microsoft SQL Server #mssql #mssql #converter #converter #преобразование базы данных

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.