Ir al contenido principal

Búsqueda o Lookups SSIS

Al final de post pongo los scripts para la base de datos. En el ejemplo se ve una de las formas de comparar dos tablas, como si fuera un "... FROM ... INNER JOIN ...".


Usando las tablas de la imagen de arriba, dentro de un DataFlow, hay que crear un OleDB Source, LookUp, y dos OleDB Destination.




Full cache levanta los datos a memoria antes de hacer el JOIN.
OLE DB connection manager es para poder levantar datos desde una consulta SQL.


Se une el campo clave, por el cual se va a hacer el JOIN.




Codigo para la base de datos:
CREATE TABLE dbo.Cabecera ( idCabecera INT PRIMARY KEY IDENTITY(1,1), Cabecera VARCHAR(254) ) GO
INSERT INTO dbo.Cabecera(Cabecera) VALUES ('Dato 1') INSERT INTO dbo.Cabecera(Cabecera) VALUES ('Dato 2') INSERT INTO dbo.Cabecera(Cabecera) VALUES ('Dato 3') INSERT INTO dbo.Cabecera(Cabecera) VALUES ('Dato 4') INSERT INTO dbo.Cabecera(Cabecera) VALUES ('Dato 5') GO
CREATE TABLE dbo.Detalle ( idDetalle INT PRIMARY KEY IDENTITY(1,1), idCabecera INT, Detalle VARCHAR(254) ) GO
INSERT INTO dbo.Detalle(idCabecera, Detalle) VALUES (4, 'Detalle 4') INSERT INTO dbo.Detalle(idCabecera, Detalle) VALUES (5, 'Detalle 5') GO
CREATE TABLE dbo.ConDetalle ( idConDetalle INT PRIMARY KEY IDENTITY(1,1), idCabecera INT, idDetalle INT, Cabecera VARCHAR(254), Detalle VARCHAR(254) ) GO
CREATE TABLE dbo.SinDetalle ( idSinDetalle INT PRIMARY KEY IDENTITY(1,1), idCabecera INT, Cabecera VARCHAR(254), )

Comentarios

Entradas populares de este blog

Crear Excel con C# sin librerias de Office - SpreadsheetLight

En este ejemplo se crea un archivo Excel(xlsx) con dos hojas. La libreria hay que usar es SpreadsheetLight. El codigo es de un proyecto de consola y logicamente le falta el: using SpreadsheetLight;

Cargar Archivo de texto a Sql Server con Integration Services SSIS

Script usado en el ejemplo: CREATE TABLE dbo.Personas ( idPersona INT PRIMARY KEY IDENTITY(1,1), Codigo VARCHAR(3), Nombres VARCHAR(17), Edad VARCHAR(3), Fecha VARCHAR(8), Ocupacion VARCHAR(13) ) Archivo: 001Juan Perez 02931122000Estudiante 002Juana Rosi 05301011982Profesor 003Edgar Bravo 03131121990Comerciante 004Monica Argento 04031121972Medico 005Jorge Lopez 02231121932Desocupado 006Ezequiel Bianchi 02131121987Deportista 007Pepe Argento 02731121960Actor

Enviar email con formato HTML desde C#

Este ejemplo lo probé desde un Script Task de Integration Serivices(SSIS) ya que no encontre como enviar un email con formato HTML desde la tarea nativa de SSIS. public static void enviaEmail(string mailTo, string mailFrom, string mailAsunto, string mailCuerpo, string mailHost, int mailPort) { // Esta variable es por si mailTo viene con mas de un Email string emailTo; /* En el "new MailMessage" solo se pasa un email. Si le paso varios email me da error, por eso hice esto. */ if (mailTo.Split(';').Length > 1) { emailTo = mailTo.Split(';')[0]; } else { emailTo = mailTo; } MailMessage mensaje = new MailMessage(mailFrom, emailTo); SmtpClient cliente = new SmtpClient(mailHost); cliente.Host = mailHost; cliente.Port = mailPort; cliente.Timeout = 100000; mensaje.IsBodyHtml = true; mensaje.SubjectEncoding = System.Text.Encoding.UTF8; mensaje.BodyEncoding = System.Text.Encoding.UTF8; mensaje.Priority = MailPriority.Nor...