Ejemplo: asignar archivos de texto de longitud fija a bases de datos
Este ejemplo sirve para explicar una operación de asignación de datos entre un archivo de texto de longitud fija (FLF) y una base de datos Microsoft Access. Los archivos que se utilizan en este ejemplo están en la carpeta Tutorial. Tanto el archivo de texto de origen como la base de datos de destino almacenan una lista de empleados. Además, en el archivo de origen los registros están delimitados de forma implícita en función de su tamaño:
Posición y nombre del campo | Tamaño (en caracteres) |
---|---|
Campo 1 (Nombre) | 8 |
Campo 2 (Apellido) | 10 |
Campo 3 (Extensión telefónica) | 3 |
Campo 4 (Correo electrónico) | 25 |
Campo 5 (Posición) | 25 |
El objetivo de la asignación es actualizar la extensión telefónica de cada empleado en la base de datos con la extensión telefónica del archivo de origen, añadiendo además el prefijo 100 a cada extensión.
Paso nº1: insertar y configurar el componente de texto
1.Seleccione la opción de menú Insertar | Archivo de texto o haga clic en el botón Insertar archivo de texto de la barra de herramientas. Esto abre el cuadro de diálogo "Insertar componente de texto". Seleccione la opción Utilizar procesamiento básico... y haga clic en Continuar.
2.Haga clic en el botón Archivo de entrada y seleccione el archivo Altova-FLF.txt.
3.Ahora seleccione el botón de opción De longitud fija.
4.Desmarque la casilla Asumir que delimitadores de registro están presentes.
5.Las tres filas que aparecen en amarillo se pueden editar y en ellas puede especificar: (i) el nombre del campo, (ii) el tipo de datos y (iii) el tamaño del campo. Introduzca ahora el valor 8 para el tamaño del campo y pulse Entrar. Ahora pueden verse más datos en la primera columna, que tiene un ancho de 8 caracteres.
6.Haga clic en Anexar campo para añadir un campo nuevo y establezca su longitud en 10 caracteres.
7.Use el mismo método para crear tres campos más con una longitud de 3, 25 y 25 caracteres respectivamente. Ahora cambie el nombre de los 5 campos por: First, Last, Tel.-Ext, Email, Title. Esta sería la vista previa:
8.En el grupo de opciones Configuración de campo de longitud fija seleccione la opción Personalizado e introduzca una almohadilla (#). Esto le indica a MapForce que debe tratar todos los caracteres # como caracteres de relleno.
9.Haga clic en Aceptar para terminar. MapForce emite este aviso:
10. Haga clic en Cambiar el nombre del componente. El componente de texto aparecerá en el área de asignación, donde podrá crear conexiones con el componente de destino y otros componentes.
Paso nº2: insertar el componente de base de datos
1.Seleccione el comando de menú Insertar | Base de datos, seleccione Microsoft Access y después haga clic en Siguiente.
2.Seleccione la base de datos Altova.sqlite y después haga clic en Conectarse.
3.Seleccione la tabla Person y haga clic en Aceptar.
Paso nº3: diseñar la asignación
1.Arrastre la función core | concat desde la ventana Bibliotecas hasta el área de asignación.
2.Seleccione el comando de menú Insertar | Constante, seleccione el tipo Número e introduzca el valor 100. Esta constante almacena el nuevo prefijo de extensión telefónica.
3.Cree las conexiones que aparecen en esta imagen:
4.En el componente de base de datos haga clic en el botón Acción de tabla situado junto al elemento Person.
5.En el segundo grupo de acciones (Acciones que se deben ejecutar para cada registro) seleccione Actualizar si... en el primer cuadro combinado de la segunda columna. Ahora para los campos First y Last debe seleccionar la acción es igual. Esto indica que MapForce solo debe actualizar la tabla Person si el nombre y el apellido del archivo de origen es igual al campo correspondiente de la base de datos. Si la condición se cumple, la acción que se debe tomar viene dada por la asignación. En este caso, la extensión telefónica recibe el prefijo 100 y se copia en el campo PhoneExt de la tabla Person.
6.Para generar la instrucción SQL (y obtener la vista previa en MapForce) haga clic en el panel Resultados. Para ejecutar las instrucciones SQL en la base de datos haga clic en el botón Ejecutar script SQL .