Услуги по интеграции SQL Server 2008-2005 совместимости

Я недавно разработал пакет SSIS на своей dev машине с помощью версии 2008 года. Позже я foud клиент имел SQL-сервер 2005 и не планирует обновить в ближайшее время.

Существует ли способ превратить пакет 2008 года в пакет 2005 года SSIS, как мастер снижения?

10
задан Nicolas Irisarri 17 December 2009 в 20:41
поделиться

5 ответов

В 2008 году могут быть компоненты и свойства, недоступные в 2005 году. Это то, что делает преобразование таким сложным .

Однако, если ваш пакет простой и достаточно стандартный, вам может помочь следующее. Это сработало для пустого пакета. Я создал его в 2008 году, а затем попытался открыть его в 2005 году. У меня были ошибки (конечно). Затем я скопировал версию 2008 года и открыл ее в текстовом редакторе

. Затем я вручную отредактировал файл

1. Измените следующее

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.2">

на

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.1">

2. Измените следующее

<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property>

на

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property>

3. Удалите следующее:

<DTS:Property DTS:Name="LastModifiedProductVersion">10.0.1600.22</DTS:Property>

4. Измените следующее:

<DTS:Property DTS:Name="CreationName">SSIS.Package.2</DTS:Property>

на

<DTS:Property DTS:Name="CreationName">MSDTS.Package.1</DTS:Property>

Это работает для пустого пакета, но я не могу дать никаких гарантий по любому другому.

Однако, если ваш пакет простой и достаточно стандартный, вам может помочь следующее. Это сработало для пустого пакета. Я создал его в 2008 году, а затем попытался открыть его в 2005 году. У меня были ошибки (конечно). Затем я скопировал версию 2008 года и открыл ее в текстовом редакторе

. Затем я вручную отредактировал файл

1. Измените следующее

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.2">

на

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.1">

2. Измените следующее

<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property>

на

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property>

3. Удалите следующее:

<DTS:Property DTS:Name="LastModifiedProductVersion">10.0.1600.22</DTS:Property>

4. Измените следующее:

<DTS:Property DTS:Name="CreationName">SSIS.Package.2</DTS:Property>

на

<DTS:Property DTS:Name="CreationName">MSDTS.Package.1</DTS:Property>

Это работает для пустого пакета, но я не могу дать никаких гарантий по любому другому.

Однако, если ваш пакет простой и достаточно стандартный, вам может помочь следующее. Это сработало для пустого пакета. Я создал его в 2008 году, а затем попытался открыть его в 2005 году. У меня были ошибки (конечно). Затем я скопировал версию 2008 года и открыл ее в текстовом редакторе

Затем я вручную редактировал файл

1. Измените следующее

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.2">

на

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.1">

2. Измените следующее

<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property>

на

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property>

3. Удалите следующее:

<DTS:Property DTS:Name="LastModifiedProductVersion">10.0.1600.22</DTS:Property>

4. Измените следующее:

<DTS:Property DTS:Name="CreationName">SSIS.Package.2</DTS:Property>

на

<DTS:Property DTS:Name="CreationName">MSDTS.Package.1</DTS:Property>

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

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.2">

на

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.1">

2. Измените следующее

<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property>

на

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property>

3. Удалите следующее:

<DTS:Property DTS:Name="LastModifiedProductVersion">10.0.1600.22</DTS:Property>

4. Измените следующее:

<DTS:Property DTS:Name="CreationName">SSIS.Package.2</DTS:Property>

на

<DTS:Property DTS:Name="CreationName">MSDTS.Package.1</DTS:Property>

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

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.2">

на

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.1">

2. Измените следующее

<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property>

на

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property>

3. Удалите следующее:

<DTS:Property DTS:Name="LastModifiedProductVersion">10.0.1600.22</DTS:Property>

4. Измените следующее:

<DTS:Property DTS:Name="CreationName">SSIS.Package.2</DTS:Property>

на

<DTS:Property DTS:Name="CreationName">MSDTS.Package.1</DTS:Property>

Это работает для пустого пакета, но я не могу дать никаких гарантий по любому другому. Надеюсь, это поможет

3
ответ дан 3 December 2019 в 17:59
поделиться

К сожалению, я не думаю, что это возможно. Я точно знаю, что если у вас есть какие-либо задачи сценария и / или компоненты в вашем пакете, библиотеки DLL будут несовместимы при переходе на SSIS 2005, поскольку с 2008 года используется .NET 3.5 Framework, а в 2005 году используется 2.0 Framework.

0
ответ дан 3 December 2019 в 17:59
поделиться

В дополнение к тому, что Джеймсу нужно было найти и заменить все экземпляры версии=10.0.0.0 на версию=9.0.242.0 для задач sql, SSIS.PipeLine.2. с файлом DTS.Pipeline.1 для задач потока данных, компонентClassID="{2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} с компонентомClassID="{2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} для задач OLE DB Source, componentClassID="{5A0B62E8-D91D-49F5-94A5-7BE58DE508F0}" с компонентомClassID="{E2568105-9550-4F71-A638-B7FE42E66922}" для OLE DB Destinations, componentClassID="{BD06A22E-BC69-4AF7-A69B-C44C2EF684BB}" с компонентомClassID="{C3BF62C8-7C5C-4F85-83C3-E0B6F6BE267C}" для задач преобразования данных и компонентомClassID="{70909A92-". ECE9-486D-B17E-30EDE908849E}" с компонентомClassID="{7C0CACA3-B152-40B1-8379-E37AE8E1DD5A}" для медленно меняющейся задачи дозирования. Мне не удалось заставить работать задачи поиска

Надеется, это кому-то поможет, по крайней мере, это ссылка на меня в следующий раз :-)

.
2
ответ дан 3 December 2019 в 17:59
поделиться

В дополнение к Asgeir:

Правильный ClassID для источников OLE DB в версии 2008 года - {BCEFE59B-6819-47F7-A125-63753B33ABB7}. Это должно быть изменено на {2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} для использования в 2005 году.

Для задач поиска измените {27648839-180F-45E6-838D-AFF53DF682D2} на {0FB4AABB-C027-4440-809A -1198049BF117}. Кроме того, вы должны изменить термин 'version = "5"' на 'version = "4"' в строке под ClassID.

Для условного разделения задачи изменить {3AE878C6-0D6C-4F48-8128-40E00E9C1B7D} на {53A228EE-EBFA-48D6-A1AC-5269E5824A2C}.

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

2
ответ дан 3 December 2019 в 17:59
поделиться

Вы также захотите заменить следующее:

  • SSIS.Pipeline.2 на DTS.Pipeline.1
  • OLE DB Command: {8E61C8F6-C91D-43B6-97EB-3423C06571CC} на {C60ACAD1-9BE8-46B3-87DA-70E59EADEA46}

Даже в этом случае вам придется открыть его в BIDS 2005 и пересохранить. Вы можете установить BIDS 2005 отдельно, зайдя в каталог SQL Server 2005 CD tools\setup и запустив sqlRun_Tools.msi. Если при этом возникнет ошибка, вы можете подняться на уровень выше (каталог tools) и запустить setup, а затем выбрать только BIDS.

1
ответ дан 3 December 2019 в 17:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: