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:

Conectando Teradata-SSIS-SQL Server 2008

Data Source SQL Server 2008:

Conectando Teradata-SSIS-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.

Conectando Teradata-SSIS-SQL Server 2008

 

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.

Conectando Teradata-SSIS-SQL Server 2008

 

 

Comprobamos la integridad de los datos en SQL Server:

Conectando Teradata-SSIS-SQL Server 2008

 

 

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.

0 Shares:
1 comment
  1. Buenos dias, en SSIS 2016 no me reconoce como valida la conversion de BYTEINT a SMALLINT, hay algo adicional que se pueda hacer? Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

You May Also Like
Leer más

Lidiando con Power BI y los límites de Google Analytics

A la hora de realizar informes tirando consultas contra el API de Google Analytics nos encontramos que normalmente, ya sea por prisa o por límites presupuestarios, se hacen informes adhoc en Power BI en modo import, evitando una arquitectura de ETL más canónica, que implicaría por ejemplo, llevar los datos a tablas en SQL Server y realizar cargas incrementales para tener un repositorio centralizado de información. Esta arquitectura podría ser o en la nube o en hardware on-premise. Detallamos algunos problemas comunes al trabajar con Power BI y Google Analytics y algunas soluciones.