Сохранить значения 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 перейти в "режим импорта", который инструктирует драйвер интерпретировать столбцы, которые имеют числа и текст, которые нужно импортировать только как текст, а не интерпретировать в соответствии с его обычным "угадыванием".