экспорт ssis из Excel в SQL независимо от количества столбцов - PullRequest
0 голосов
/ 09 января 2019

Я не смог найти ответ на этот вопрос, и я думаю, что это легко:)

Используя SSIS, я хочу импортировать из Excel в таблицу SQL, независимо от количества столбцов, мне все равно, если эклектика имеет 3 или 33 столбца.

Как сделать что-то вроде этого: выберите * в mytable из exceldataset,

, если вы не можете использовать функцию OPENROWSET и выполнить задачу SQL.

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Самый простой способ добиться этого - использовать Execute SQL Task с динамической командой OPENROWSET.

Поскольку вы упомянули, что вы не можете использовать этот метод, я думаю, что вы должны конвертировать ваш файл Excel в CSV-файл, используя Script Task, а затем импортировать плоский файл в SQL.

Вы можете обратиться к следующим ссылкам для получения дополнительной информации:

Преобразование Excel в CSV с помощью задачи Script

Импорт плоского файла с другим заголовком

Если ваш файл Excel имеет тот же номер столбца, но заголовки являются переменными

Другие полезные статьи


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

0 голосов
/ 09 января 2019

На это уже много раз отвечали. В службах SSIS метаданные вашего источника хранятся вместе с пакетом. Это не может измениться. Единственный способ сделать это - программно изменить определение источника данных в вашем пакете, что, очевидно, не тривиально. Вам нужно сценарий задачи и погрузиться в API. Легче изменить исходный файл, либо в Excel путем выравнивания, отмены поворота или чего угодно, либо в системе, которая его генерирует.

Проверьте этот вопрос не для ответа, а для некоторых указателей. На самом деле это касается разных файлов, а не столбцов.

...