Переходите на новый сайт Базы знаний. Актуализация контента происходит теперь там.

Создать таблицу в базу данных
Активность находится в разделе SQL.
Позволяет сохранить таблицу в базу данных, заменяя или дополняя существующую.


В свойствах необходимо указать:
  • Соединение, созданное активностью Создать подключение к БД;
  • Название схемы базы данных;
  • Имя таблицы в БД, куда надо поместить данные;
  • Таблица с данными, которую надо поместить в БД;
  • Очистить таблицу - при true исходная таблица в БД удаляется;
  • Записей в одном блоке (пояснение ниже);
  • Таймаут операции (пояснение ниже);
  • Имя переменной, куда запишутся измененные записи - результат выполнения сохранения DataTable.
Опция "Используя SQL запросы" формирует SQL-запрос к БД. Для этой опции появился параметр "Записей в одном блоке" для получения/сохранения данных порциями.

Пример
Если таблица состоит из 550 записей, а размер блока - 100 записей, то в итоге таблица будет разбита на 6 блоков. Пять из них будут содержать по 100 записей, а последний - 50 записей. Для каждого блока создается собственный SQL запрос, который выполняется отдельной транзакцией.
Запись порциями повышает надежность сохранения данных и позволяет сохранять большие таблицы.

Опция "Используя "Bulk" объекты" позволяет сохранять таблицу целиком, используя SQL-инструкцию Bulk Insert, обеспечивая высокую скорость записи в БД.
Свойство для таймаута (T) выполнения операции ограничивает время ожидания выполнения операции (в секундах).
Если операция не будет реализована в указанный период, будет выдана ошибка.

Ограничения для опции
Операция Bulk требует точного соответствия типов данных в таблице DataTable и целевой таблице в базе данных.
Структура таблицы с данными не подлежит изменению, поэтому важно следить за типами колонок входной DataTable до её заполнения.
Также ограничением является ограниченный список провайдеров, поддерживающих Bulk Insert:
  • для MS SQL Server – System.Data.SQLClient,
  • для Oracle - Oracle.ManagedDataAccess.Client.
В случае SQLConnection и провайдера System.Data.SQLClient допустимо использовать и другие СУБД (например, MySQL).