SSIS Загрузить файл Excel с динамическими столбцами - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в SSIS и в течение недели безуспешно искал решение этой проблемы.

На самом деле я получаю файл Excel, содержащий около 200 столбцов, но, для простоты,давайте представим, что у меня есть 10 столбцов, первые 3 столбца - «Название продукта», «Категория продукта» и «Имя клиента», затем все остальные столбцы - «Месяцы» с прогнозом продаж, с ним у меня что-то вроде:

Product ! Category ! Client ! Jan-18 | Feb18 | Mar18 !
Prd A   | Cat A    | ClientA| 10     | 20    | 25    | 
Prd B   | Cat B    | ClientB| 70     | 30    | 100   |

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

Итак, в следующем месяце я могуиметь, например:

Product ! Category ! Client ! Jan-18 | Feb18 | Mar18 ! Apr18|
Prd A   | Cat A    | ClientA| 50     | 40    | 250   | 40   |
Prd B   | Cat B    | ClientB| 50     | 40    | 150   | 80   |

Как я могу импортировать это в SQL?Я думал о том, чтобы сделать это с помощью Script Task, но не смог написать скрипт, так как я не знаю C # или VB.

Есть ли способ выполнить эту загрузку без Script Task?Если так, то как?Если только возможно с ST, можете ли вы помочь мне написать это?

1 Ответ

0 голосов
/ 30 ноября 2018

Лукас, один из обходных путей, который я использую, когда сталкиваюсь с такой же проблемой, - импортировать таблицу в промежуточную таблицу только с одним столбцом varchar (max).Не забудьте включить разделитель.Таким образом, SSIS примет файл с таким количеством столбцов, сколько у него есть.Как только эти данные окажутся в вашей базе данных, вы можете создать процедуру, чтобы разбить эти данные на несколько столбцов и отправить в окончательную таблицу.Я знаю, что есть другие способы, но этот процесс сработал для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...