Para solucionar el problema planteado la vez anterior lo que haremos, de momento, será crear otro destino igual al que ya tenemos.
Para comprobar que funciona bien, elimino y creo la tabla, asegurándome de que Nombre tenga longitud 15
USE [MiDestino]
GO
/****** Object: Table [dbo].[ProductosFecha] Script Date: 10/30/2010 18:46:07 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ProductosFecha]’) AND type in (N’U’))
DROP TABLE [dbo].[ProductosFecha]
GO
USE [MiDestino]
GO
/****** Object: Table [dbo].[ProductosFecha] Script Date: 10/30/2010 18:46:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ProductosFecha](
[IdProducto] [int] NULL,
[Nombre] [nvarchar](15) NULL,
[Color] [nvarchar](15) NULL,
[SafetyStockLevel] [smallint] NULL,
[ListPrice] [money] NULL,
[Size] [nvarchar](5) NULL,
[ProductLine] [nvarchar](2) NULL,
[SellStartDate] [datetime] NULL,
[SoloFecha] [date] NULL
) ON [PRIMARY]
GO
El paquete se ejecuta sin errores
Entran primero las cortas, las 172 cortas y luego las que eran largas, truncadas a los 15 primeros caracteres.
Puede estar bien, si no necesitamos que entren en un orden determinado, entonces nos vale, no hay elementos bloqueantes, ocupa poco y no perdemos ningún registro. Misión cumplida.
¿Y si necesitamos un orden o tenemos una columna identity que se rellena al vuelo? Esto ya lo tenemos que solucionar de forma diferente, para lo que dedicaremos otro escrito.
En este caso, que ya tenemos todos los registros en el destino, no olvidemos conservar la muestra larga original para enviarla al suministrador. Hemos solucionado como hemos podido; pero por favor que nos mejore esos datos para no truncarlos…si es que se puede, claro 🙂
Hasta la próxima, que estaremos hablando de Multidifusión.