SSIS, как преобразовать строку (DT_STR) в деньги (DT_CY), если в источнике более 2 десятичных знаков

У меня есть исходный плоский файл со значениями, такими как 24.209991, но их нужно загрузить в SQL Server как тип money. В DTS (из которого я конвертирую) это значение 24,21. Как мне преобразовать это поле в SSIS?

Прямо сейчас я просто меняю тип с DT_STR на DT_CY, и он выдает ошибку запуска «Преобразование данных не удалось. Преобразование данных для столбца «Col003» вернуло значение состояния 2 и текст состояния «Значение не удалось преобразовать из-за потенциальной потери данных.». '

Использую ли я задачу преобразования данных? А что потом?

Я также попытался установить исходный столбец вывода в DT_NUMERIC, а затем преобразовать его в DT_CY, с тем же результатом.

Я также попытался использовать производные столбцы, приведя поле DT_STR Col003 к (DT_NUMERIC, 10,2) Col003, а затем приведя его к (DT_CY) Col003_Numeric. Это получает ошибку приведения.

Ответы на вопрос(3)

Ваш ответ на вопрос