2009-12-17 22 views
10

Recientemente desarrollé un paquete SSIS en mi máquina dev utilizando la versión 2008. Más tarde me di cuenta de que el cliente tenía el servidor Sql 2005 y no planea actualizar pronto.servidor SQL Integration Services 2008-2005 compatibilidad

¿Hay alguna forma de convertir el paquete 2008 en un paquete SSIS 2005, como un asistente de versión anterior?

Respuesta

14

Cortesía de una fuente no identificada que tiene una aplicación para rebajar un paquete SSIS desde la versión 2008 a 2005.

Mientras que funciona con los componentes comunes nuevos componentes no son compatibles con la excepción de la búsqueda.

Los componentes de terceros tampoco son compatibles.

Pasó por pruebas muy limitadas y no es una opción compatible de MS. No se recomienda usar esto para paquetes de producción.

Es una herramienta útil para salir de una situación difícil.

http://ssisdowngrade.codeplex.com

+0

Esto funcionó un encanto para mí. La única excepción fue que mi código era C# y SQL2005 solo era compatible con VB.NET, solo era un código trivial, así que reescribí y no estaba. –

+0

funcionó bien para mí, aunque tuve que hacer algunos cambios en el xml manualmente, como cambiar el proveedor de 'SQLNCLI10.1' a' SQLNCLI.1'. Terminé usando http://converter.telerik.com/ para convertir el código de C# en vb.net, que funcionó bien. – mezoid

0

Desafortunadamente, no creo que esto sea posible. Sé con certeza que si tiene alguna tarea de script y/o componentes en su paquete, los archivos DLL serán incompatibles al degradarse a SSIS 2005 ya que 2008 usa .NET Framework 3.5 y 2005 usa el Framework 2.0.

+0

así, mi nueva tarea sería la de volver a configurar todo el paquete en el servidor SQL 2005? –

+0

Estoy bastante seguro de que es su única opción. – rfonn

3

Puede haber componentes y propiedades disponibles en 2008 que no estén disponibles en 2005. Esto es lo que hace que la conversión sea tan difícil.

Sin embargo, si su paquete es simple y bastante estándar, lo siguiente puede ayudar. Funcionó para un paquete vacío. Creé uno en 2008 y luego intenté abrirlo en 2005. Obtuve errores (por supuesto). Entonces copié la versión 2008 y la abrí en un editor de texto plano.

Luego editar manualmente el archivo

1. Cambiar el siguiente

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

a

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

2. Cambiar el siguiente

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

a

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

3. Retire el siguiente:

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

4. Cambiar el siguiente:

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

a

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

Esto funciona para un paquete vacío, pero no puedo ofrecer garantías para ningún otro. Esperanza esto ayuda

2

Además de lo que James no es necesario buscar y reemplazar todas las instancias de la Versión = 10.0.0.0 con la versión 9.0.242.0 para tareas = sql, SSIS.PipeLine.2 con DTS.Pipeline.1 de tareas de flujo de datos, componentClassID = "{2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} con componentClassID =" {2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} para tareas de origen OLE DB, componentClassID = "{5A0B62E8-D91D-49F5-94A5 -7BE58DE508F0} "con componentClassID =" {E2568105-9550-4F71-A638-B7FE42E66922} "para OLE DB Destinations, componentClassID =" {BD06A22E-BC69-4AF7-A69B-C44C2EF684BB} "con componentClassID =" {C3BF62C8-7C5C-4F85 -83C3-E0B6F6BE267C} "para tareas de conversión de datos y componentClassID =" {70909A92-ECE9-486D-B17E-30EDE908849E} "con componentClassID =" {7C0CACA3-B152-40B1-8379-E37AE8E1DD5A} "para una tarea dimesion que cambia lentamente.Yo no pude conseguir las tareas de búsqueda para trabajar

espera que esto ayude a alguien, por lo menos es una referencia para mí para la próxima vez :-)

2

Además de Asgeir:

classId correcta para Las fuentes OLE DB en la versión 2008 son {BCEFE59B-6819-47F7-A125-63753B33ABB7}. Esto tiene que ser cambiado a {2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} para ser utilizado en 2005.

Para las tareas de búsqueda cambiar {27648839-180F-45E6-838D-AFF53DF682D2} {en 0FB4AABB-C027-4440- 809A-1198049BF117}. Además, debe cambiar el término 'versión =' 5 '' por 'versión =' 4 '' en la línea debajo del ClassID.

Para el cambio de tarea de división condicional {3AE878C6-0D6C-4F48-8128-40E00E9C1B7D} en {53A228EE-EBFA-48D6-A1AC-5269E5824A2C}.

Estos cambios, además de los ya publicados, deberían ser el truco para la mayoría de los usuarios o al menos permitir la reconstrucción del paquete en la versión 2005 con menos esfuerzo.

1

También querrá reemplazar el siguiente:

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

Aun así, tendrá que abrirlo en BIDS 2005 y volver a guardarlo. Puede instalar BIDS 2005 en forma independiente yendo a su directorio de instalación de herramientas de CD de SQL Server 2005 y ejecutando sqlRun_Tools.msi. Si se producen errores, puede subir un nivel (dir de herramientas) y ejecutar configuración, luego elegir solo BIDS.