Altova MapForce 2024 Professional Edition

En este ejemplo explicamos cómo combinar datos devueltos por un procedimiento almacenado con datos de una tabla de la misma base de datos, con ayuda de las relaciones locales.

 

Si no lo hizo ya con el ejemplo anterior, ejecute el script siguiente para crear el procedimiento almacenado de ejemplo en la base de datos "AdventureWorks". Puede hacerlo desde una ventana de consultas de la aplicación de Microsoft SQL Server Management Studio o directamente desde la pestaña Consulta de la BD de MapForce (consulte Examinar y consultar bases de datos). En ambos casos, asegúrese de que su cuenta de usuario de la base de datos tiene permisos para crear procedimientos almacenados.

 

CREATE PROCEDURE HumanResources.uspGetAllEmployees
AS
  SELECT LastName, FirstName, JobTitle, Department
  FROM HumanResources.vEmployeeDepartment

 

El procedimiento almacenado anterior devuelve información sobre los empleados de la vista vEmployeeDepartment. A continuación explicamos los pasos que debe seguir para crear una asignación que consuma los datos devueltos por este procedimiento.

 

1.Conéctese a la base de datos "AdventureWorks" desde MapForce, como se describe en el apartado Agregar procedimientos almacenados a la asignación. Asegúrese de que su cuenta de usuario de la base de datos tiene permisos para crear procedimientos almacenados.

2.Cuando la aplicación solicite que elija los objetos de BD, seleccione la tabla Department y el procedimiento almacenado uspGetAllEmployees.

mf_sp_20

3.Haga clic en el botón para mostrar el menú contextual (mf_ic_storedproc_menu), junto al procedimiento almacenado, y seleccione Mostrar nodos como origen.

4.Vuelva a hacer clic en el botón para mostrar el menú contextual (mf_ic_storedproc_menu) y seleccione Editar estructuras de conjuntos de registros. Aparece el cuadro de diálogo "Estructuras de conjuntos de registros".

5.Haga clic en Definir parámetros de entrada y llamar al procedimiento y después en Aceptar. Aparece el cuadro de diálogo "Evaluar procedimiento almacenado".

mf_sp_06

Haga clic en Ejecutar y después en Aceptar. Ahora la estructura del conjunto de registros ("RS1") es visible tanto en el cuadro de diálogo "Estructuras de conjuntos de registros" como en la asignación.

mf_sp_21

 

Definir relaciones locales

Ahora vamos a definir una relación local entre la columna Department del conjunto de registros devuelto y la columna Name de la tabla Department.

 

1.Haga clic con el botón derecho en la barra del título del componente de BD y seleccione Componente | Agregar, quitar o editar objetos de la base de datos del menú contextual.

2.Haga clic en Agregar o editar relaciones y después en Agregar relación. Defina las relaciones como se muestra a continuación.

mf_sp_22

3.Haga clic en Aceptar para cerrar el cuadro de diálogo. Observe que la tabla Department ahora se ha convertido en un secundario del conjunto de registros RS1.

mf_sp_23

 

Completar la asignación

Gracias a la relación que acabamos de crear ahora podemos asignar datos del conjunto de registros en combinación con datos de la tabla. Para este ejemplo vamos a escribir datos en un archivo XML de destino:

 

1.En el menú Insertar, haga clic en Archivo o esquema XML y seleccione el siguiente archivo: <Documentos>\Altova\MapForce2024\MapForceExamples\EmployeesWithDetails.xsd.

2.Cuando la aplicación solicite que indique un archivo de instancia XML de muestra, haga clic en Omitir.

3.Dibuje las conexiones de la asignación como se indica a continuación.

mf_sp_24

La asignación de la imagen anterior escribe datos de la base de datos en un archivo XML de destino. Los datos de origen son una combinación de datos extraídos por el procedimiento almacenado con datos extraídos directamente de una tabla. La asignación usa la función concat para generar una cadena de texto que contenga el nombre del departamento seguido por un guion, seguido por el nombre del grupo.

 

Para obtener la vista previa de la asignación haga clic en el botón Resultados y observe el resultado de la asignación en el panel Resultados, por ejemplo:

mf_sp_25

© 2017-2023 Altova GmbH