У Excel є стовпець, який повинен бути текстом, але SSIS бачить там числовий текст і автоматично змушує його плавати подвійною точністю [DT_R8].
Я можу змінити його вручну у стовпцях Зовнішній та вихідний відділення Виводу, але Вихід помилки просто відмовляється дозволити мені змінити відповідний стовпець.
Error at Extract Stations [Excel Source [1]]: The data type for "output "Excel Source Error Output" (10)" cannot be modified in the error "output column "Group No" (29)".
Error at Extract Stations [Excel Source [1]]: Failed to set property "DataType" on "output column "Group No" (29)".
Я спробував змінити пакет xml. Я спробував IMEX=1
і , typeguessrow=0
але нічого з цього не зафіксував мою проблему. Чи має це взагалі якесь виправлення? Також є статті, які пропонують змінити свій реєстр так, що excel читає більше, ніж 8 рядків за замовчуванням, перш ніж вгадувати тип даних. Я не хочу йти цим маршрутом, тому що навіть якби він працював, мені доведеться змінити реєстр на машині, на якій я планую запустити пакет.
Поле excel, яке потрібно імпортувати в поле nvarchar SQL, читає, наприклад
295.3
296.33
але вони записуються в таблицю SQL як
295.30000000000001
296.32999999999998
Я розміщую в оглядачах даних і поля показують
295.3
296.33
весь шлях через виконання, яке є правильним, але я думаю, коли він потрапляє у джерело призначення OLE DB, він якимось чином перетворює його на
295.30000000000001
296.32999999999998
що неправильно.
У мене також є такі значення, як, наприклад, V321.1 і V213.34, які, безумовно, не є цілими числами, і їх потрібно зберігати як варчар.