Проблема использования переменной SSIS в потоке данных

В начале проекта я создал 3 переменные с Scope size Package:

введите описание изображения здесь

Затем я создал a SQL EXECUTE TASK:

введите описание изображения здесь

Проверка этого запроса на SQL SERVER возвращает:

введите описание изображения здесь

Установка источника EXCEL в качестве переменной, которая получит местоположение файла:

введите описание изображения здесь

Теперь в SSIS я проверил оба пути 64-разрядная отладка как истина, так и ложная. Но остальное выполнение работает, когда оно ложно, поэтому я изменил его на false и сохранил его.

введите описание изображения здесь

Это поток проекта:

введите описание изображения здесь

Всякий раз, когда я выхожу, он дает мне эту ошибку:

введите описание изображения здесь

Как разрешить эту ошибку. Это заняло весь мой день, но я до сих пор не знаю об этом. Я новичок в SSIS. Помощь будет оценена.


Отредактировано:

Смотрите результирующий набор SQL EXECUTE TASK:

введите описание изображения здесь

Ответ 1

Я заметил, что DelayValidation есть False в вашем Excel Connection String.

Вы должны сделать DelayValidation=TRUE для Excel Connection String и Data Flow Task, в котором используется соединение excel.

Надеюсь, это поможет вам.

Ответ 2

Когда вы создаете ExcelFilePath в выражении (или любой его части, я думаю), убедитесь, что "комбинация" переменных содержит полный путь для доступа к файлу, иначе вы не сможете открыть источник excel, поскольку он не находит файл. (должно быть хорошо во время выполнения).

Во-вторых, может быть, что значения, которые использовались в исходном файле, не совпадают в "новом файле/следующем файле". Значение excel хочет преобразовать столбец из Unicode в float с двойной точностью или что-то в этом роде.

Попробуйте добавить это в свой ConnectionString в окне свойств.

IMEX = 1

like "*; HDR = YES; IMEX = 1";

Это может помочь с этими типами смешанных столбцов, где они содержат числа и альфа-значения (вызывают проблемы с преобразованием).

НТН

Ответ 3

После многих битв я решил проблему, но я очень благодарен людям, которые дали мне дополнительные знания об этом инструменте, и некоторые из их рекомендаций, должно быть, тоже работали, когда я установил вещи соответственно.

что я сделал наконец, что заставило его работать и работать:

1) В свойстве package в Execution установите DelayValidation в True. После выполнения:

(Выше, Viki помог мне также, установив свойство DelayValidation в True, но в Excel Connection Manager, который считает.)