2015-12-13 3 views
1

Недавно я взял на себя процесс SSIS на основе ETL и из-за некоторых проблем с лицензированием, которые мне пришлось обновить с помощью Data Tools 2013 до 2015 года. Большая часть проекта сохранилась при обновлении и хорошо работает. Однако в двух пакетах у меня очень простой метод C# (Script Transformation), чтобы проанализировать некоторые данные, вызывающие некоторые проблемы.Сценарий SSIS C# несовместим

В настоящее время развертывание завершается с помощью «build» (а не нового метода разработки через каталог SSIS) и шага задания SQL SERVER непосредственно к файлу dtsx.

Задача была создана в SQL SERVER 2014, которая планирует выполнение ETL пошагово. Сервер имеет конфигурацию с 64 битами.

Я попытался изменить свойство проекта SSIS «Run64BitRuntime» на False и заставить неудачный шаг использовать 32-битное время выполнения. Кроме того, я также попытался воссоздать компонент с той же конфигурацией, но оба они не работали.

нечетная часть является то, что, когда я бегу пакет от SSIS он заканчивает успешно, но дробит рабочих мест и бросить следующее сообщение об ошибке:

* «расшифровывает» это имя компонента преобразования сценария

сообщений ... Начато: 11:32:30 PM Ошибка: 2015-12-12 23: 32: 31.26 Код: 0xC0047062 Источник: stg stg (decode [2]) Описание: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: версия декодирования несовместима с этой версией DataFlow. [[Версия версии или конвейера или оба для указанного компонента выше текущей версии. Вероятно, этот пакет был создан на новой версии DTS или компонента, который установлен на текущем компьютере.]] В Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade (обертка IDTSManagedComponentWrapper100, Int32 lPipelineVersion) Ошибка завершения ошибки: 2015-12 -12 23: 32: 31.26 Код: 0xC004801F Источник: stg stg (SSIS.Pipeline) Описание: Метаданные компонентов для «декодирования» не могут быть обновлены до более новой версии компонента. Не удалось выполнить метод PerformUpgrade. End Error Error: 2015-12-12 23: 32: 31.28 Код: 0xC004801F Источник: stg SSIS.Pipeline Описание: Метаданные компонентов для «decode, clsid {33D831DE-5DCF-48F0-B431-4D327B9E785D}» не могут быть обновлены до более новая версия компонента. Не удалось выполнить метод PerformUpgrade. End Error Error: 2015-12-12 23: 32: 31.28 Код: 0xC0048021 Источник: stg decode [2] Описание: Компонент отсутствует, не зарегистрирован, не обновляется или отсутствует необходимые интерфейсы. Контактная информация для этого компонента: «Включает и запускает собственный код сценария. Например, примените бизнес-правило, которое ограничивает диапазон допустимых значений в столбце« доход »или добавляет значения в два столбца и вычисляет среднее значение суммы; Microsoft Corporation, Microsoft SQL Server, Microsoft Corporation, Все права защищены, http://www.microsoft.com/sql/support;9 ». End Error Error: 2015-12-12 23: 32: 31.28 Код: 0xC0047017 Источник: stg SSIS.Pipeline Описание: декодирование не удалось проверить и вернул код ошибки 0xC0048021. End Error Error: 2015-12-12 23: 32: 31.28 Код: 0xC004700C Источник: stg SSIS.Pipeline Описание: Одна или несколько неудачных попыток компонента. End Error Error: 2015-12-12 23: 32: 31.28 Код: 0xC0024107 Источник: stg Описание: Были ошибки при проверке задачи ....

+0

Похоже, что ваша локальная среда имеет обе версии рамок .NET, которые совместимы с VS2013 и VS2015. То же самое не существует в среде развертывания. –

+0

Поскольку SQL Server является единственным элементом, который я не обновил (2014), возможно, он имеет какое-то отношение к этому. – gilibi

ответ

0

Я попытался обновить единственную часть, которую я не коснулся - SQL Server 2014, но без какого-либо воздействия. В конце концов я решил полностью взять на себя ответственность за процесс и работал вокруг него, нажав логику на базу данных.

6

Я столкнулся с той же проблемой «Код ошибки: 0xC0048021» и решил.

Я установил эту версию SSDT здесь https://msdn.microsoft.com/en-us/mt429383

Затем в обозревателе решений SSDT правой кнопкой мыши проект, перейдите в Свойства -> Свойства конфигурации -> TargetServerVersion = SQL SERVER 2014

Затем, в обозревателе решений SSDT правой кнопка мыши проект, перейдите в Свойство -> Configuration Properties -> Отладка -> Run64BitRuntime = False

Со ссылка на эту ссылку http://blogs.msdn.com/b/ssis/archive/2016/03/03/what-s-new-for-ssis-2016-rc0.aspx enter image description here

Смежные вопросы