При импорте данных из Excel в базу данных SQL SSIS показывает NULL для столбцов Interger

Я использую файл Excel для импорта данных в таблицу базы данных SQL.

Мой столбец содержит типы данных Text и Interger.

При предварительном просмотре моего файла Excel в SSIS Excel Source Assistant он показывает NULL для этих целочисленных строк.

Примечание. Мне не нужно изменять какие-либо столбцы в файле Excel.

Можем ли мы добиться этого в самой SSIS?

введите здесь описание изображения

введите здесь описание изображения


person Thiyagu    schedule 25.09.2020    source источник


Ответы (1)


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

Итак, что касается этой проблемы, такое поведение предусмотрено дизайном. Чтобы решить эту проблему, мы добавляем IMEX=1 к значению расширенных свойств в строке подключения диспетчера подключений Excel в окне свойств.

Для файла .xlsx строка подключения диспетчера подключений Excel выглядит следующим образом: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Temp\Test.xlsx;Extended Properties=Excel 12.0 XML;HDR= ДА;IMEX=1;

Для файла .xls строка подключения диспетчера подключений Excel выглядит следующим образом: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\Test.xls;Extended Properties=Excel 8.0;HDR=YES ;ИМЭКС=1;

person Thiyagu    schedule 25.09.2020