Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contenido
1. Archivo BAT ................................................................................................................................. 3
2. Crear DTSX ................................................................................................................................... 4
2.1. Abrir DTSX y Dar Nombre de Proyecto.................................................................................... 4
2.2. Agregar Variables de Conexin ............................................................................................... 5
3. Crear Archivo de LOG DTSX ......................................................................................................... 6
3.1. Crear log para archivos XML.................................................................................................... 6
3.2. Configurar Eventos a Validar ................................................................................................... 7
3.3. Generar Vinculo con archive de LOG de salida ....................................................................... 8
3.4. Configuracin Path de Salida ................................................................................................ 10
4. Desarrollo Ejemplo .................................................................................................................... 11
4.1. Crear SQL Task ....................................................................................................................... 11
4.2. SQL Task Crear Conexin .................................................................................................... 12
4.3. SQL Task Agregar Llamado SP ............................................................................................ 14
4.4. SQL Task - Definir Variable de Salida ..................................................................................... 15
4.5. Agregar Data Flow Task (DFT) ............................................................................................... 16
4.6. DFT Agregar OLE DB ........................................................................................................... 17
4.7. Agregar Archivo de Salida ..................................................................................................... 18
4.8. Ejecucin de Prueba .............................................................................................................. 22
4.9. Compilar Paquete .................................................................................................................. 23
4.10. SQL Task Parametrizar Conexin.................................................................................... 24
4.11. Anexo 1 : Elementos de Flujo de Control .......................................................................... 25
4.12. Anexo 2: Flujos de Datos ................................................................................................... 26
1. Archivo BAT
Antes de crear el archivo DTSX, se debe crear el archivo .BAT que lo ejecute, pasndole los
parmetros de conexin Si bien la nica restriccin de nombre para el archivo DTSX es que
comience con el alias de la aplicacin (en este caso CIN), es preferible usar el nombre del archivo
BAT.
A continuacin se ordena el llamado al archivo DTSX, para poder visualizar mejor como utiliza las
variables, sin embargo, en el archivo BAT se debe dejar el llamado en una sola lnea para que la lea
correctamente.
3
2. Crear DTSX
2.1. Abrir DTSX y Dar Nombre de Proyecto
Para crear un proyecto DTSX, se debe abrir el SQL Server Business Intelligence Development Studio
Al ingresar el Nombre, en este caso CINJ0150, se crea una carpeta con dicho nombre y todos los
componentes bsicos necesarios
4
2.2. Agregar Variables de Conexin
Para poder dejar el DTSX con llamada paramtrica, es decir, independiente de la base de datos y el
usuario, se deben crear las variables que se definieron en el BAT.
Para crear las variables, uno debe estar situado a nivel de paquete. Teniendo a la vista la lengeta
Control Flow, se debe crear la variable usando el icono ubicado en la esquina izquierda.
Se deben agregar las variables Base, Pass, Path_area, Path_log, Server y User. Las cuales
corresponden exactamente a los nombres definidos en el archivo BAT.
:menu_1 CINJ0150.BAT
CD D:\PROGRAMAS\BIN
CLS
echo. PROBANDO CINJ0150.BAT
CALL CINJ0150.BAT bbce001 bbce001 vw-s2k8-desdat2 d:\programas\Log D:\Programas bbce_cmx
CLS
echo. PROCESO BAT CINJ0150.BAT EJECUTADO, REVISAR LOG Y ARCHIVOS GENERADOS SI CORRESPONDE.....
GOTO:EOF
5
3. Crear Archivo de LOG DTSX
3.1. Crear log para archivos XML
Como estndar, el DTSX debe crear un archivo de log en la carpeta de log que se le indique por
parmetro, para ello se debe ingresar al men SSIS Logging
Una vez hecho eso, se debe seleccionar SSIS log provider for XML files y presionar Add..
6
3.2. Configurar Eventos a Validar
El estndar banco indica que se deben escoger los siguientes tres eventos de log, hay que poner
atencin en seleccionar el checkbox del package (arriba a la izquierda)
7
3.3. Generar Vinculo con archive de LOG de salida
Hasta ahora slo se estn capturando el log, pero no se est dejando en ningn lado en particular,
para definir eso en Configuration se debe crear una nueva conexin
Al crear una nueva conexin, se debe poner el nombre del archive de LOG, se debe usar un
formato similar al del ejemplo.
8
Una vez que se ha creado el archivo de salida, queda asociado al log, tal como se ve en la pantalla
a continuacin.
9
3.4. Configuracin Path de Salida
Para que el log se guarde en el Path que se el indique por parmetro, en las propiedades se debe
definir la ruta en la propiedad Expressions, inicialmente se va a encontrar en blanco, al
seleccionarlo va a aparecer la siguiente pantalla, donde se deben ingresar los siguientes datos:
@[User::Path_log] + \\CINJ0150_dts.Log
Una vez que se ha definido el ConnectionString, para el campo Expressions se puede ver el
cambio en las propiedades, tal como se ve en la imagen.
10
4. Desarrollo Ejemplo
Una vez que tenemos la base del DTSX, empezamos con el desarrollo del ejemplo, el cual consiste
en generar un archivo de texto con la informacin de operaciones diarias, el formato de nombre
del archivo es OPE_DIA.TXT, es decir que si se ejecuta el DTSX un da mircoles, el archivo
generado ser OPE_MIERCOLES.TXT
11
4.2. SQL Task Crear Conexin
En este caso, no existe ninguna conexin, por lo que se va a crear una para poder hacer la
ejecucin de la consulta. Para esto en las propiedades, se debe escoger la propiedad Connection y
seleccionar <New connection>
12
Una vez hecho lo anterior se deben ingresar los datos de conexin, Server name, User name,
Password y Database name. Estos datos son para verificar conexin y correcto funcionamiento. Al
finalizar se deben dejar en blanco para ser reemplazados por las variables que sern entregadas
por parmetro.
Se puede verificar que la conexin quedo creada porque abajo aparece la nueva conexin.
13
4.3. SQL Task Agregar Llamado SP
Para agregar una llamada a una sentencia SQL se debe modificar la propiedad SQLStatement
14
4.4. SQL Task - Definir Variable de Salida
Se debe crear una nueva variable a nivel de paquete, en este caso NombreDia y se define en los
Parameter Mapping como se muestra a continuacin.
Previamente se debe haber modificado en la propiedad ResultSetType y definirla como
ResultSetType_SingleRow. Hay que tener cuidado de dejar los valores como se indican en la
pantalla
Finalmente se define el nombre del campo que se est leyendo y la variable donde se va a dejar el
valor.
Nota:
Result Name es el nombre del campo que retorna la consulta
15
4.5. Agregar Data Flow Task (DFT)
El Data Flow Task es un elemento que puede contener un flujo de tareas a realizar, en el caso de
este ejemplo, va a realizar una consulta a la base de datos y a generar un archivo de texto de
salida con el resultado.
16
4.6. DFT Agregar OLE DB
Una vez agregado el DFT, se hace doble click sobre este y cambia a la pantalla de Data Flow. Ac se
agregara un elemento OLE DB Source Editor y lo vamos a configurar como se muestra en la
siguiente imagen.
17
4.7. Agregar Archivo de Salida
Para que el DTSX genere un archivo de salida con los datos obtenidos desde la consulta SQL, se
debe insertar un Flat File Destination y unir ambos y luego configurar como se indica a
continuacin.
Al hacer doble click en el Flat File, se abre la siguiente panta, utilizando el botn New crearemos el
connection manager del archivo de salida.
18
Al hacer click en el botn, se abre la siguiente pantalla, que nos pregunta el formato del archivo de
destino, en nuestro caso un archivo de texto delimitado por separadores
Luego en la seccin General, se deben completar los datos tal como se indica en la pantalla. En
esta seccin se define el separador de campo del encabezado, en caso de tener un encabezado.
19
En la seccin Columns se definen los separadores de campo y saltos de lnea.
20
Finalmente hay que seleccionar el Connection Mannager Archivo_Operaciones y modificar la
propiedad Connection String, asignndole el siguiente valor @[User::Path_area] +
"\\Ftp\\Output\\OPE_" + @[User::NombreDia] + ".txt", de tal forma que el nombre del archivo
vaya cambiando con la fecha
21
4.8. Ejecucin de Prueba
Si la ejecucin es correcta, los objetos van a cambiar de color y quedarn en verde, si existe algn
error quedarn en rojo.
22
4.9. Compilar Paquete
Para compilar un paquete, se debe ir al menu Build Build CINJ0150, lo que hace esta accin es
generar un archivo CINJ0150.DTSX, el cual ser el entregable.
Luego se va al menu File Save Package.dtsx As y se guarda el paquete con el nombre que uno
desea en la carpeta en donde se va a ejecutar, es decir en la carpeta SSIS
Al realizar esta copia pegunta si se desea cambiar el nombre el paquete. Como nos interesa que
mantenga el nombre CINJ0150.DTSX, respondemos que si y no debiera volver a preguntar.
23
4.10. SQL Task Parametrizar Conexin
Una vez finalizadas las pruebas, se deben dejar los valores de conexion a la BD en blanco. Para eso
se deben realizar los siguientes pasos.
El campo ConnectionString se debe modificar para eliminar los parmetros ingresados
anteriormente y que no quede nada fijoingresando el texto Data Source=;User ID= ;Initial
Catalog=;Provider=SQLNCLI10.1;
24
4.11. Anexo 1 : Elementos de Flujo de Control
Poner nombres claros en cada uno de los componentes del flujo de control. Esto ayuda
durante la depuracin y deteccin de problemas de los paquetes, especialmente si la
persona que realiza la depuracin no es la persona que cre el paquete.
Usar Sequence Container para organizar el flujo de control del paquete en unidades
lgicas de trabajo, esto hace que sea ms fcil identificar lo que realiza el paquete y ayuda
al control de las operaciones que se llevan a cabo.
25
4.12. Anexo 2: Flujos de Datos
Poner nombres claros en cada uno de los componentes del flujo de datos. Esto ayuda
durante la depuracin y deteccin de problemas de los paquetes, especialmente si la
persona que realiza la depuracin no es la persona que cre el paquete.
Cuando se requiera ordenar los datos, se debe obtener los datos ya ordenados desde la
fuente de datos y establecer IsSorted = TRUE en la salida del Source Adapter. Realizar un
reordenamiento es un proceso costoso que no se debe realizar en el paquete puesto que
los motores de base de datos son ms eficientes que Integration Services en esta tarea.
Nota:
La configuracin de este valor no reordena los datos, solamente indica que los datos
vienen ordenados desde la fuente de datos.
El flujo de datos a travs de las tareas consume recursos, principalmente memoria, por
lo cual se debe optimizar la cantidad de datos que se deben mover dentro de los flujos.
Para optimizar el uso de memoria de Integration Services, solamente se deben obtener las
columnas necesarias, especificando explcitamente los campos requeridos.
Se prohbe el uso de la opcin Use a Table or View en acceso a lectura de los datos, en
su lugar utilizar siempre una consulta SQL con los campos que se requieren.
Siempre filtrar los datos en el Source Adapter en lugar de utilizar un Conditional Split
Transform Component, el Data Flow ser beneficiado en el desempeo.
Cuando se usa archivos Raw, Raw File Source Component y Raw File Destination
Component dentro del mismo paquete, configure el Raw File Source y Raw File
destination para poner los nombres de los archivos tipo Raw en variables esto evitara
hardcoding con los nombres de los archivos planos dentro de los dos componentes.
Las fuentes de datos de Excel y los Connection Manager de Excel solamente funcionan
cuando se ejecutan en modo 32 bits. Para ejecutar correctamente estos paquetes en
mquinas de 64 bits es necesario configurar SSIS para corren en modo 32 bits. En el
entorno de desarrollo es necesario ir a las propiedades de la solucin y dentro de la opcin
debugging establecer la propiedad Run64BitRuntime en false.
Desde la lnea de comando es necesario ingresar la ruta completa del dtexec.exe.
32-bit
c:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn\dtexec.exe
64-bit
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\dtexec.exe
26
Debe obtener el mnimo de datos que se requieren desde la fuente de datos. Aplique los
filtros y ordenamientos requeridos dentro de la(s) consulta(s) de los datos.
Realice los agrupamientos en el servidor de base de datos de origen. Los GROUP BY por
lo general son ms rpidos si se aplican en el servidor de base de datos.
Se debe usar modo de acceso fast-load para el componente oledb destination controlando
cada 5000 filas por batch y tamao mximo de insert commit
27
Tarea Iniciales Descripcin
Multicast MLT Transformacin que distribuye conjuntos de datos a varias salidas
OLE DB Command CMD Transformacin que ejecuta comandos SQL para cada fila de un flujo de datos.
OLE DB Destination OLE_DST Carga datos mediante un proveedor OLE DB
OLE DB Source OLE_SRC Consume datos de un proveedor OLE DB
Partition Processing PP_DST Carga y procesa una particin de Analysis Services
Transformacin que crea un conjunto de datos de ejemplo especificando la cantidad
Percentage Sampling PSMP de filas en la muestra
Pivot PVT Transformacin que crea una versin menos normalizada de una tabla normalizada
Raw File Destination RF_DST Escribe datos en un archivo con formato raw.
Raw File Source RF_SRC Extrae datos desde un archivo raw.
Recordset Destination RS_DST Crea un conjunto de registros ADO
Transformacin que cuenta las filas a medida que se mueven por ella y almacena el
Row Count CNT recuento final en una variable
Transformacin que crea un conjunto de datos de ejemplo especificando la cantidad
Row Sampling RSMP de filas en la muestra
Slowly Changing Dimension SCD Transformacin que configura la actualizacin de una dimensin de variacin lenta.
Sort SRT Transformacin que ordena datos.
SQL Server Compact
Destination SSC_DST Inserta filas en una base de datos de SQL Server Compact
Term Extraction TEX Transformacin que extrae trminos del texto
Transformacin que busca trminos en una tabla de referencia y cuenta los trminos
Term Lookup TEL extrados del texto
Union All ALL Transformacin que mezcla varios conjuntos de datos
Unpivot UPVT Transformacin que crea una versin ms normalizada de una tabla no normalizada
XML Source XML_SRC Extrae datos de un archivo XML
28