Сохранить значения null, blank, na при одновременном импорте данных из Excel в сервер SQL в задаче потока данных служб SSIS

Я хотел бы сохранить нулевые, пустые значения, как это, когда я импортирую данные из Excel на сервер SQL в SSIS. Я использую задачу потока данных для импорта данных из Excel на сервер SQL. Как уже упоминалось, значения n иногда преобразуются в нулевые или пустые. Пожалуйста помоги

1 ответ

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

После создания подключения в службах SSIS выберите подключение и на панели свойств выберите Connection String, добавлять IMEX=1 в конце.

Вот пример

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test\New Microsoft Excel Worksheet.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=1 ";

Обратите внимание, что аргумент IMEX не является панацеей. Обычно это описывается (неправильно) как "чтение всех значений как текста". Что он делает, так это инструктирует драйвер Excel перейти в "режим импорта", который инструктирует драйвер интерпретировать столбцы, которые имеют числа и текст, которые нужно импортировать только как текст, а не интерпретировать в соответствии с его обычным "угадыванием".

Другие вопросы по тегам