Причина ошибки компонента пользовательского потока данных SSIS — невозможно обновить

StackOverflow https://stackoverflow.com/questions/1194532

Вопрос

У меня есть очень простой компонент, который обрезает все начальные и конечные пробелы в строках (чтение/запись) в конвейере.Насколько я вижу, на моей машине разработки есть только один двоичный файл этой dll.Я переношу его на другую машину разработки и регистрирую в GAC, но когда я открываю пакет, скопированный на вторую машину, я получаю это предупреждение:

Ошибка 1 Ошибка проверки.Задача потока данных:DTS.Конвейер:Метаданные компонента «компонент «TrimColumnsComponent» (1909)» не удалось обновить до более новой версии компонента.Метод PerformUpgrade не выполнен.LD_CXSUM.dtsx 0 0

У меня есть компонент на панели инструментов, и я могу перетащить другой на холст потока данных, и с ним не возникнет никаких проблем.

Это SQL Server 2005 и Visual Studio 2005 на обеих машинах.

На второй машине я могу создать пакет с нуля, и он загрузится на машину, на которой был создан компонент (но значок — это значок стандартного пользовательского компонента, такой же, как и на второй машине).Если я создаю пакет с нуля на машине сборки, он имеет правильный значок, но выдает сообщение об обновлении на машине без сборки.Файлы идентичны в каталоге компонентов, имеют одинаковый идентификатор класса компонента и зарегистрированы в GAC.

Я проверил файлы dtsx вручную, проверив XML, и в пакетах, созданных на машине сборки и машине без сборки, идентификатор класса и открытый ключ на разных машинах идентичны.

Что может вызвать это?

Это было полезно?

Решение

Обычно это означает, что компонент был обновлен после сохранения пакета и поэтому имеет неправильный номер версии.К сожалению, вам придется повторно добавить компонент. 1.

Возможно, вы сможете сохранить пакет как новую версию и попробовать перенести ее.Это может решить проблему вызова автоматического обновления (и последующего сбоя).

Другие советы

Вы на 100% уверены, что копия компонента в GAC соответствует копии в папке Program Files\Microsoft SQL Server\90\DTS\PipelineComponents?Копия GAC используется во время выполнения, а копия в разделе PipelineComponents используется VS IDE.Если вы работаете на компьютере x64, я бы обязательно скопировал его в папку PipelineComponents как в обычной папке Program Files, так и в папке x86.

Включая SDK клиентских инструментов и Обратная совместимость клиентских инструментов установка SQL Server решила для меня проблему обновления.

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

У меня была та же проблема, и мое решение такое же, как у @AppleG.Проблема возникла из-за развертывания одного пакета, а не всего проекта.Проект был развернут ранее другим разработчиком, скорее всего, с немного другой версией Visual Studio или мастера развертывания.Позже я развернул только один пакет из своей VS.

В заключение, повторное развертывание всего проекта решило проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top