Вы упомянули причину ошибки в вопросе:
Когда я меняю 2,3 и 2,4 на 2,3 и 2,4, он работает нормально.И значения будут храниться правильно с 2,3 и 2,4 в таблице.
Что означает, что ,
вызывает проблему.Убедитесь, что он не используется в качестве разделителя.
В диспетчере соединений с плоскими файлами перейдите на вкладку «Дополнительно», выберите столбец и измените свойство разделителя столбцов.
Если это последний столбец в строке, измените разделитель на {CRLF}
.
Если в файле много столбцов, а разделитель - запятая ,
, вам необходимозамените его на .
или используйте добавление квалификатора текста.
Обходной путь
Если он все еще не работает, измените тип столбца на DT_STR
, затем в Data flow task
добавьтепроизводный столбец, который заменяет ,
на ,
и приводит значение как десятичное.Пример:
(DT_DECIMAl,2)REPLACE([COLUMN], ",", ".")