Etl sql server
En seguida le mostramos el diagrama entidad-relación de OLAP y los procedimiento con los que realizaremos las cargas:
FACTURAS CON TIMESTAMP
Crearemos un procedimiento pararealizar el ETL incremental de la tabla facturas con su timestamp.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--exec ETLFACTURAS
ALTER PROCEDURE ETLFACTURAS
AS
BEGIN
DECLARE @FOLIOAS SMALLINT
DECLARE
MI_CURSOR CURSOR
FOR
SELECT FOLIO
FROM OLTP.dbo.FACTURA
WHERE FECHA
BETWEEN
(SELECT ISNULL(CAST(MAX(FECHA) AS DATE),CAST ('2000-11-10' AS DATE)) FROMOLAP.dbo.FACTURAS)
AND CONVERT(DATE,GETDATE(),103)
OPEN MI_CURSOR
FETCH NEXT FROM MI_CURSOR INTO @FOLIO
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO OLAP.dbo.FACTURAS
SELECTFOLIO,FECHA,CLINTEID,SUCURSALID,CONVERT(DATE,GETDATE(),105)
FROM OLTP.dbo.FACTURA
WHERE FOLIO = @FOLIO
INSERT INTO OLAP.dbo.DETALLE_FACTURAS
SELECT * FROM DETALLE_FACTURA
WHERE FOLIO = @FOLIOFETCH NEXT FROM MI_CURSOR INTO @FOLIO
END
CLOSE MI_CURSOR
DEALLOCATE MI_CURSOR
END
GO
EL ETL de Sucursales, Variedades, Clientes y Sucursales lo hacemos con un simple select intotable, de la siguiente manera:
Con países y tipos usaremos el bulk insert desde un archivo .txt debido a que son datos que dificilmente var a ir cambiando con el tiempo.
BULK INSERT PAISES FROM'c:\pais.dat' WITH (FIELDTERMINATOR = ',')
BULK INSERT TIPOS FROM 'c:\tipo.txt' WITH (FIELDTERMINATOR = ',')
Para la tabla ciudades utilizaremos el EXPORT de sql de una base de datos a otra, paraesto realizamos lo siguiente:
Y esperamos a que termine el export.
La tabla de estados la pasaremos primero a un document xls de Excell y luego la importaremos en el OLTP.
Ya tenemos losestados en un xls, ahora procedemos a realizar el import en OLAP:
Y consultamos la tabla:
La tabla de marca la exportaremos a un archivo plano y después la importaremos desde ese archivo plano a el...
Regístrate para leer el documento completo.