Дозвольте розпочати, пояснивши, що це не дублікат питання , ані потенційний дублікат з цього питання. Я спробував реалізувати будь-яку відповідь на кожен окремий варіант, який вже існує в цій проблемі на StackOverflow та DBA Stack Exchange, без жодної удачі.
Я боровся з цією проблемою протягом останніх двох днів (працював над нею приблизно 7 годин на день), і навіть після того, як виникла проблема з Google, виявляється, що ніхто інший не має такого самого точного варіанту моєї проблеми.
Що я намагаюся зробити?
У SSIS я намагаюся прочитати з файлу CSV і вставити рядки з нього в базу даних OLE DB. З цього приводу я зробив найпростішу настройку, яку ми бачили нижче.
Flat File Source
- читає рядки CSV.Derived Column
- наразі нічого не робить (це просто для експериментів).Data Conversion
- наразі нічого не робить (це просто для експериментів).OLE DB Destination
- зберігає рядки в базі даних.
Коли я намагаюся запустити його, він зупиняє виконання на моєму пункті OLE DB із наступним повідомленням про помилку.
Під час вводу "OLE DB Destination Input" (51) сталася помилка із стовпцем "Сума" (187). Повернувся статус стовпця: "Значення не вдалося перетворити через потенційну втрату даних."
Стовпчик, який не працює ( Amount
), наразі має тип DT_STR
. Схоже, це той тип, в який я зараз найбільше вірю.
Що я спробував?
- Я спробував використовувати функцію
Flat File Connection
"Запропонувати типи" на стовпці, що не працює. Це змусило рекомендуватиSingle byte signed int
тип даних.- Зупиняється на моєму рівному файлі .
- Помилка - не вдалося перетворити дані. Перетворення даних для стовпця "Сума" повертає значення статусу 2 та текст стану "Значення не вдалося перетворити через потенційну втрату даних."
- Я спробував використати, щоб
Derived Column
передати стовпець у aDT_I4
.- Зупиняється на моєму похідному стовпчику .
- Помилка - не вдалося перетворити дані. Перетворення даних для стовпця "Сума" повертає значення статусу 2 та текст стану "Значення не вдалося перетворити через потенційну втрату даних."
- Я спробував використовувати, щоб
Data Conversion
передати значення моєї колонки на aDT_I4
.- Зупиняється на моїй
Data Conversion
. - Помилка - не вдалося перетворити дані. Перетворення даних для стовпця "Сума" повертає значення статусу 2 та текст стану "Значення не вдалося перетворити через потенційну втрату даних."
- Зупиняється на моїй
- Я спробував змінити довжину свого
DT_STR
значення в джерелі та в пункті призначення.- Зупиняється біля джерела чи пункту призначення залежно від налаштувань.
- Я намагався підключитися за допомогою з'єднувача джерела Excel замість цього і без
IMEX=1
доданого до рядка з'єднання та без нього . Не вдалося.
Моє відчуття програмування говорить мені, що я накручений. Я ніколи не стикався з такою великою проблемою для такої простої речі.
І чому так я не можу просто ігнорувати "потенційну" втрату даних? Дійсно, найменше засмучуєш.
Моя система
Це машина Windows Server 2008 R2 із встановленим SQL Server 2008. Сама машина повністю оновлюється за допомогою Windows Update.
Amount
?
Amount
стовпчик. Зробіть знімок екрана та оновіть своє запитання щодо цього малюнка.