У меня такая же сильная головная боль на этой неделе. Я перепробовал много способов. Слава Богу, в конце концов, один из них работал. Надеюсь, это поможет вам немного.
Для некоторых столбцов с типом данных Int, datetime, decimal .... здесь я идентифицировал себя как ColumnA и использовал его как тип datetime.
1.в источнике потока данных, используйте команду SQL для извлечения данных. Sth like select isnull (ColumnA, '1800-01-01') как ColumnA, C1, C2, ... Cn из таблицы
Обязательно используйте функцию Isnull для всех столбцов с указанным выше типом данных.
2. Извините pkg службы SSIS. Это должно работать.
3. Вернитесь в Поток управления, в задачу потока данных добавьте элемент управления Задача SQL, чтобы заменить данные обратно. Я имею в виду, обновите ColumnA с «1800-01-01» до нуля снова.
Это работает для меня. В моей ситуации я не могу использовать опцию игнорирования ошибки. Потому что, если я это сделаю, я потеряю тысячи строк данных.