El objetivo es cargar datos en un SQL Server 2008 utilizando SSIS siendo nuestro origen de datos una BBDD Teradata.

Data Sources

Crearemos dos Data Sources en SSIS, uno que leerá de Teradata y otro que escribirá en SQL Server 2008. Para poder utilizar un origen OLE DB de Teradata, deberemos instalarnos previamente un conector OLE DB para Teradata, se puede descargar desde el centro de descargas de la página Web de Teradata:

http://www.teradata.com/DownloadCenter/

Data Source Teradata:

Data Source SQL Server 2008:

 

Data Flow

Este objeto de SSIS nos permitrá crear un flujo de datos para realizar la inserción de datos desde Teradata a SQL Server. Con un Data Flow muy sencillo seremos capaces de trasladar los datos.

Como se puede ver en el siguiente Data Flow, tenemos dos orígenes de datos OLE DB (BBDD Teradata y SQL Server 2008) y también tenemos un “Data Conversion” para realizar conversiones de tipos de datos de una plataforma a otra.

 

Comprobamos su ejecución y vemos que lo leído de Teradata y lo escrito en SQL Server 2008 es lo mismo, esto lo podemos comprobar mismamente en la ejecución del Data Flow que nos va indicando (como se muestra en la figura) cuantas filas son afectadas en cada uno de los pasos, y también con un visor podemos ver como son los datos obtenidos desde origen, es una gran ayuda a la hora de utilizar SSIS.

 

 

Comprobamos la integridad de los datos en SQL Server:

 

 

Equivalencia Tipos de Datos

A continuación se muestran tres tablas con la correspondencia de los tipos de datos más utilizados:

Tipo Fecha:

TERADATA SSIS SQL SERVER
Date Database date [DT_DBDATE] Date
Time(0) Database time [DT_DBTIME] Time(0)
Timestamp(0) Database timestamp [DT_DBTIMESTAMP] Datetime

Tipo Carácter:

TERADATA SSIS SQL SERVER
Char(n) – Latin String [DT_STR] Char(n)
Char(n) – Unicode Unicode String [DT_WSTR] Nchar(n)
Varchar(n) – Latin String [DT_STR] Varchar(n)
Varchar(n) – Unicode Unicode String [DT_WSRT] Nvarchar(n)

En este tipo de datos vemos por ejemplo que en Teradata a cada uno de los tres tipos de datos se le puede aplicar como un atributo (Latin,Unicode), este atributo es la causa de que luego se transforme en un tipo de datos u otro tanto en SSIS como en SQL Server.

Tipo Numérico:

TERADATA SSIS SQL SERVER
Integer Four-Byte signed integer [DT_I4] Int
Smallint Two-Byte signed integer [DT_I2] Smallint
Byteint Single-Byte signed integer [DT_I1] Smallint
Real Float [DT_R4] Real
Doubleprecision Double-precision float [DT_R8] Float
Float Double-precision float [DT_R8] float
Decimal(n,m) Decimal [DT_DECIMAL] Decimal(n,m)
Numeric(n,m) Numeric [DT_NUMERIC] Numeric(n,m)

Problemas encontrados

Hay que tener cuidado con la correspondencia de los tipos de datos en una y otra plataforma, y asegurarse de no perder datos.

Últimas entradas de Alexandre Bernárdez (ver todo)