SSIS - значение не может быть преобразовано из-за потенциальной потери данных

Я относительно новичок в SSIS. Я пытаюсь извлечь информацию из базы данных Oracle с помощью Microsoft OLEDB для Oracle, и я использую этот запрос:

SELECT ID FROM Test

Я получаю сообщение об ошибке: the value cannot be converted because of a potential loss of data. Если я изменил запрос на следующий, то он работает:

SELECT '1' FROM Test

Я думаю, что он терпит неудачу, потому что ID не является целым числом. Однако диспетчер соединений с плоскими файлами показывает, что OutputColumnWidth равен 50. Что я делаю неправильно?

Обновить 16:30 GMT
Я рассмотрел это немного больше, и это, по-видимому, столбцы с гистограммой "частота" или "нет", которые вызывают проблемы. Те, у кого есть гистограмма "Сбалансированный по высоте", выглядят нормально.

Ответы

Ответ 1

Это обычная вещь. По умолчанию во многих случаях для импорта в ssis из другого типа системы, где невозможно определить метаданные для столбцов, является значение по умолчанию для str (50). Поскольку вы пытаетесь направить это на столбец с одним символом, он предполагает, что вы можете потерять данные. Просто перейдите в исходный компонент, щелкнув правой кнопкой мыши и выбрав "Показать расширенный редактор..."

Затем перейдите к последней вкладке (Свойства входа и выхода)

Нажмите + рядом с исходным выходом OLE DB

Нажмите + рядом с столбцами вывода

Выделите столбец идентификатора

Прокрутите до свойства типа данных длины справа от диалогового окна и измените его с 50 на 1.