Etl sql server

Solo disponible en BuenasTareas
  • Páginas : 3 (520 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de enero de 2012
Leer documento completo
Vista previa del texto
ETL EN SQLSERVER
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...
tracking img