Развертывание настраиваемого диспетчера подключений служб SSIS с ошибкой «... не распознается как допустимый тип диспетчера подключений» - PullRequest
3 голосов
/ 11 июня 2019

Я создал собственный диспетчер соединений служб SSIS (.NET 4.6.2): ​​

namespace HelloWorldCm
{
    using Microsoft.SqlServer.Dts.Runtime;

    [DtsConnection(
        ConnectionType = "HELLOWORLD",
        DisplayName = "Hello World Connection Manager",
        Description = "Connection manager for Hello World")]
    public class HelloWorldConnectionManager : ConnectionManagerBase
    {
        public override DTSExecResult Validate(IDTSInfoEvents infoEvents)
        {
            return DTSExecResult.Success;
        }
    }
}

Я ссылаюсь на Microsoft.SQLServer.ManagedDTS версию 14.0.0.0, в моем понимании это SQL Server 2017. Локально,если я зарегистрирую его в GAC и скопирую в папку /Connections, я смогу использовать SSIS из Visual Studio и добавить диспетчер подключений в мой DTSX.

Я могу сохранить / построить и т. Д., И все работает нормально, поэтому я затем копирую диспетчер подключений и DTSX на свою виртуальную машину с SQL Server 2017. Я снова регистрируюсь в GAC и копирую в папку /Connections.

Я затем Import Packages... в моем Integration Services Catalogs, выберите DTSX и нажмите Далее .Затем это говорит мне, что:

Один или несколько выбранных пакетов не готовы.

И когда я смотрю, почему я вижу:

Тип соединения «HELLOWORLD», указанный для диспетчера соединений «Hello World Connection Manager», не распознается как допустимый тип диспетчера соединений.Эта ошибка возвращается при попытке создать диспетчер соединений для неизвестного типа соединения.Проверьте правильность написания в имени типа соединения.

Я уже довольно давно пытаюсь заставить это работать, поэтому я перечислю то, что попробовал:

  1. Пробная версия 'Any CPU'
  2. Пробная версия 'x86'
  3. Пробная версия 'x64'
  4. Пробная версия DTSX с фиктивной задачей, а также
  5. Перезапуск сервера (после любого развертывания)

Уверен, другие.Я также создал пользовательскую задачу, которая просто печатала «Hello World» в журналах, она была скомпилирована как «Any CPU», развернута таким же образом (в тех же местах), и SSIS, похоже, невозникли проблемы с его поиском и принятием DTSX.Поэтому я достаточно уверен, что «Любой процессор» должен быть достаточно хорошим.

Я не уверен, куда идти сейчас - насколько я вижу, у меня есть правильные ссылки, правильная версия .NET, и развертывание такое же, как для задачи.

Я поставил dtsx ниже на случай, если там что-то есть:

<?xml version="1.0"?>
<DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts"
  DTS:refId="Package"
  DTS:CreationDate="6/11/2019 1:09:07 PM"
  DTS:CreationName="Microsoft.Package"
  DTS:CreatorComputerName="CHRIS"
  DTS:CreatorName="CHRIS\cskar"
  DTS:DTSID="{0F2D59A1-461B-46ED-8765-75484C06253C}"
  DTS:ExecutableType="Microsoft.Package"
  DTS:LastModifiedProductVersion="15.0.1100.123"
  DTS:LocaleID="2057"
  DTS:ObjectName="Package1"
  DTS:PackageType="5"
  DTS:VersionBuild="1"
  DTS:VersionGUID="{E688A11B-234E-4F39-991E-BAA0A37642E6}">
  <DTS:Property
    DTS:Name="PackageFormatVersion">8</DTS:Property>
  <DTS:ConnectionManagers>
    <DTS:ConnectionManager
      DTS:refId="Package.ConnectionManagers[Hello World Connection Manager]"
      DTS:CreationName="HELLOWORLD"
      DTS:DTSID="{9E82E067-2A0A-4C9C-931D-FD59FD159B5C}"
      DTS:ObjectName="Hello World Connection Manager">
      <DTS:ObjectData>
        <InnerObject>
          <TargetServerVersion
            Type="3"
            Value="150" />
        </InnerObject>
      </DTS:ObjectData>
    </DTS:ConnectionManager>
  </DTS:ConnectionManagers>
  <DTS:Variables />
  <DTS:Executables />
  <DTS:DesignTimeProperties><![CDATA[<?xml version="1.0"?>
<Objects Version="8">
</Objects>]]></DTS:DesignTimeProperties>
</DTS:Executable>

1 Ответ

4 голосов
/ 11 июня 2019

Каталог служб SSIS предназначен для хранения проектов, а не отдельных пакетов.Это была новая функция в 2012 году, которая помогает хранить связанные пакеты вместе.Вы можете параметризировать проект и делиться диспетчерами соединений между пакетами.Если вы хотите выполнить развертывание в каталоге, вам нужно импортировать файл .ispac или щелкнуть правой кнопкой мыши в Visual Studio и нажать «Развернуть».

В модели развертывания проектаОтдельный пакет «.dtsx» не может рассматриваться как отдельный.Это имеет смысл только как часть проекта из-за новых функций, описанных выше.

Развертывание автономных пакетов в MSDB является устаревшей моделью и поддерживается, поэтому нам не нужно переносить все наши пакеты вКаталог сразу.

Развертывание проектов и пакетов служб Integration Services (SSIS)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...