Saltar al contenido

Actividad de Upsert de Base de Datos en Jitterbit Studio

Introducción

Una actividad de Upsert de Base de Datos, utilizando su conexión de Base de Datos, actualiza tanto los datos existentes como inserta nuevos datos en una base de datos configurada y está destinada a ser utilizada como un objetivo para consumir datos en una operación.

La actividad de Upsert se utiliza para actualizar registros que ya existen y crear los que no. Si en su lugar solo desea insertar nuevos registros, utilice una actividad de Insertar en Base de Datos, o si desea actualizar registros existentes, utilice una actividad de Actualizar en Base de Datos.

Crear una actividad de Upsert de Base de Datos

Una instancia de una actividad de Upsert de Base de Datos se crea a partir de una conexión de Base de Datos utilizando su tipo de actividad Upsert.

Para crear una instancia de una actividad, arrastre el tipo de actividad al lienzo de diseño o copie el tipo de actividad y péguelo en el lienzo de diseño. Para más detalles, consulte Crear una instancia de actividad o herramienta en Reutilización de componentes.

Una actividad de Upsert de Base de Datos existente se puede editar desde estas ubicaciones:

Configurar una actividad de Upsert de Base de Datos

Siga estos pasos para configurar una actividad de Upsert de Base de Datos:

Upsert de un solo objeto

Sigue estos pasos si el upsert de la base de datos es para un solo objeto y no necesitas crear uniones con otros objetos. Si necesitas unir múltiples objetos, consulta en su lugar Upsert de múltiples objetos.

Paso 1: Ingresa un nombre y selecciona un objeto

  • Menú de endpoint: Si tienes múltiples endpoints del mismo tipo de conector configurados, un menú en la parte superior de la pantalla muestra el nombre del endpoint actual. Haz clic en el menú para cambiar a un endpoint diferente. Para más información, consulta Cambiar el endpoint asignado en Pantallas de configuración.

    • Editar endpoint: Aparece cuando pasas el cursor sobre el nombre del endpoint actual. Haz clic para editar la configuración de conexión del endpoint seleccionado actualmente.
  • Nombre: Ingresa un nombre para identificar la actividad de la base de datos. El nombre debe ser único para cada actividad de Upsert de la base de datos y no debe contener barras diagonales (/) ni dos puntos (:).

  • Proporciona la referencia de los nombres de las tablas: Esta sección muestra las tablas disponibles en el endpoint de la base de datos utilizando cualquier filtro aplicado, después de usar el ícono de refresco para la carga inicial de objetos. Si hay un gran número de objetos en la base de datos, se recomienda filtrar los objetos utilizando Ver o Buscar antes de refrescar.

    • Ver: Utiliza el menú desplegable para filtrar la lista de objetos mostrados a uno de "Tablas, Vistas", "Tablas", "Vistas", o "Tablas del Sistema". Por defecto, se muestra la vista "Tablas, Vistas".

    • Buscar: Ingresa el valor de cualquier columna en el cuadro de búsqueda para filtrar la lista de objetos. La búsqueda no distingue entre mayúsculas y minúsculas. La lista de objetos puede filtrarse automáticamente o puede que necesites actualizar la lista, dependiendo de si los objetos ya han sido recuperados:

      • Si buscas objetos que ya han sido recuperados de la base de datos y ya aparecen en la lista, cualquier término de búsqueda escrito en el cuadro de búsqueda filtra automáticamente la lista.

      • Si buscas objetos que aún no han sido recuperados, por ejemplo, al intentar limitar el número de objetos recuperados para bases de datos con un gran número de objetos, utiliza el ícono de actualización junto al cuadro de búsqueda para obtener los objetos de la base de datos utilizando el filtro.

      Nota

      Para bases de datos que no soportan la búsqueda de objetos, como Microsoft Access, no se devuelven resultados.

    • Actualizar: Haz clic en el ícono de actualización para cargar o recargar tablas desde el punto final de la base de datos. Esto debe usarse para la carga inicial de cualquier objeto. Además, también puede ser útil si has agregado recientemente objetos a la base de datos, o si tienes criterios de búsqueda adicionales que deseas aplicar antes de recuperar objetos de la base de datos.

    • Permitir truncamiento de campos de caracteres para evitar errores de longitud de campo: Selecciona esta casilla para permitir que los campos se trunquen según sea necesario si el campo de destino es más pequeño que el campo de origen. Está desmarcada por defecto para nuevas actividades creadas después de la versión 11.39 de Harmony. Cuando esta casilla se deja desmarcada y datos excesivos pasan, se informa un estado de operación Error. Si la casilla está seleccionada, se informa un estado de Éxito con Información en su lugar, y los registros de operación dirán que Uno o más valores fueron truncados al insertar y/o actualizar el campo.

  • Incluir el esquema/propietario en los nombres de las tablas: Selecciona esta casilla para incluir el esquema en los nombres de las tablas. Esto puede ser útil si utilizas el mismo nombre de tabla en múltiples esquemas (como para desarrollo y producción) para permitirte ver y seleccionar la tabla en el esquema correcto.

  • Proporcionar la referencia de los nombres de las tablas: La lista de objetos se muestra en una columna a la izquierda. Haz clic en un solo objeto para agregarlo a la tabla a la derecha. Si estás actualizando o realizando un upsert en múltiples objetos que necesitan ser unidos, consulta Upsert de múltiples objetos.

    !!! tip "Consejo"
        Si la lista no se llena con los objetos disponibles incluso después de aplicar un filtro, la [Conexión a la base de datos](/es/integration-studio/design/connectors/database/database-connection) puede no ser exitosa. Asegúrate de estar conectado volviendo a abrir la conexión y volviendo a probar las credenciales.
    
  • Tabla de objetos seleccionados: El objeto seleccionado se muestra en una tabla a la derecha. Las columnas en esta tabla no son relevantes para Upserts de un solo objeto o upserts y no se pueden editar.

  • Guardar y salir: Si está habilitado, haz clic para guardar la configuración de este paso y cerrar la configuración de la actividad.

  • Siguiente: Haz clic para almacenar temporalmente la configuración de este paso y continuar al siguiente paso. La configuración no se guardará hasta que hagas clic en el botón Finalizado en el último paso.

  • Descartar cambios: Después de realizar cambios, haz clic para cerrar la configuración sin guardar los cambios realizados en ningún paso. Un mensaje te pedirá que confirmes que deseas descartar los cambios.

Paso 2: Seleccionar claves de upsert

  • Seleccionar claves: Selecciona las casillas de verificación de cualquier campo que desees utilizar como claves de Upsert. También puedes seleccionar un objeto completo para seleccionar todos sus campos a la vez. La(s) clave(s) de Upsert son el(los) campo(s) utilizados para identificar qué registros existentes necesitan ser Upsertados. Cualquier campo que se seleccione para ser utilizado como clave de Upsert se lista a la derecha.

  • Atrás: Haz clic para almacenar temporalmente la configuración de este paso y regresar al paso anterior.

  • Siguiente: Haz clic para almacenar temporalmente la configuración de este paso y continuar al siguiente paso. La configuración no se guardará hasta que hagas clic en el botón Finalizado en el último paso.

  • Descartar Cambios: Después de realizar cambios, haz clic para cerrar la configuración sin guardar los cambios realizados en ningún paso. Un mensaje te pide que confirmes que deseas descartar los cambios.

Paso 3: Revisar el esquema de datos

  • Esquema de Datos: Se muestra el esquema de datos de destino. Si la operación utiliza una transformación, los esquemas de datos se mostrarán nuevamente más adelante durante el proceso de mapeo de transformación, donde puedes mapear a campos de destino utilizando objetos de origen, scripts, variables, valores personalizados y más.

    Nota

    Los datos se transfieren tal como se proporcionan. Si hay desajustes en la longitud de los datos entre los campos de origen y destino, puedes usar Funciones de cadena para recortar los datos.

    Nota

    Para actualizar un esquema de datos en una actividad existente, debes avanzar a través de cada paso de configuración de actividad nuevamente, realizando al menos un cambio (como agregar y eliminar un carácter del final del nombre de la actividad) para forzar una actualización del esquema.

  • Atrás: Haz clic para almacenar temporalmente la configuración de este paso y regresar al paso anterior.

  • Finalizado: Haz clic para guardar la configuración de todos los pasos y cerrar la configuración de la actividad.

  • Descartar Cambios: Después de realizar cambios, haz clic para cerrar la configuración sin guardar los cambios realizados en ningún paso. Un mensaje te pide que confirmes que deseas descartar los cambios.

Upsert de múltiples objetos

Sigue estos pasos si el upsert de la base de datos es para múltiples objetos y necesitas crear uniones entre ellos. Para upsert o upsert solo a un solo objeto, sin uniones, consulta Upsert de un solo objeto.

Paso 1: Ingresa un nombre y selecciona objetos

  • Nombre: Ingresa un nombre para identificar la actividad de la base de datos. El nombre debe ser único para cada actividad de Upsert de la base de datos y no debe contener barras inclinadas (/) ni dos puntos (:).

  • Proporciona la referencia de los nombres de las tablas: Esta sección muestra las tablas disponibles en el punto final de la base de datos utilizando cualquier filtro aplicado, después de usar el ícono de refresco para la carga inicial de objetos. Si hay un gran número de objetos en la base de datos, se recomienda filtrar los objetos utilizando Ver o Buscar antes de refrescar.

    • Ver: Usa el menú desplegable para filtrar la lista de objetos mostrados a uno de "Tablas, Vistas", "Tablas", "Vistas", o "Tablas del Sistema". Por defecto, se muestra la vista "Tablas, Vistas".

    • Buscar: Ingresa el valor de cualquier columna en el cuadro de búsqueda para filtrar la lista de objetos. La búsqueda no distingue entre mayúsculas y minúsculas. La lista de objetos puede ser filtrada automáticamente o puede que necesites refrescar la lista, dependiendo de si los objetos ya han sido recuperados:

      • Si buscas en objetos que ya han sido recuperados de la base de datos y ya aparecen en la lista, cualquier término de búsqueda escrito en el cuadro de búsqueda filtra automáticamente la lista.

      • Si buscas en objetos que aún no han sido recuperados, por ejemplo, al intentar limitar el número de objetos recuperados para bases de datos con un gran número de objetos, usa el ícono de refresco junto al cuadro de búsqueda para obtener los objetos de la base de datos utilizando el filtro.

      Nota

      Para bases de datos que no soportan la búsqueda en objetos, como Microsoft Access, no se devuelven resultados.

    • Actualizar: Haz clic en el ícono de actualizar para cargar o recargar tablas desde el punto final de la base de datos. Esto debe usarse para la carga inicial de cualquier objeto. Además, también puede ser útil si has agregado recientemente objetos a la base de datos, o si tienes criterios de búsqueda adicionales que deseas aplicar antes de recuperar objetos de la base de datos.

    • Permitir truncamiento de campos de caracteres para evitar errores de longitud de campo: Selecciona esta casilla para permitir que los campos se trunquen según sea necesario si el campo de destino es más pequeño que el campo de origen. Está desmarcada por defecto. Cuando esta casilla se deja desmarcada y datos excesivos pasan, se muestra un estado de Error. Si la casilla está seleccionada, se muestra un estado de Éxito con Información en su lugar, y los registros de operación dirán que Uno o más valores fueron truncados al insertar y/o actualizar el campo.

    • Incluir el esquema/propietario en los nombres de las tablas: Selecciona esta casilla para incluir el esquema en los nombres de las tablas. Esto puede ser útil si usas el mismo nombre de tabla en múltiples esquemas (como para desarrollo y producción) para permitirte ver y seleccionar la tabla en el esquema correcto.

    • Proporcionar la referencia de los nombres de las tablas: La lista de objetos se muestra en una columna a la izquierda. Haz clic en los objetos uno a la vez para agregarlos a la tabla a la derecha. Se puede seleccionar cualquier combinación de tablas, vistas y/o tablas del sistema. Si en su lugar necesitas hacer un Upsert de un solo objeto sin uniones, consulta Upsert de un solo objeto.

      Consejo

      Si la lista no se llena con objetos disponibles incluso después de aplicar un filtro, la conexión a la base de datos puede no ser exitosa. Asegúrate de estar conectado volviendo a abrir la conexión y volviendo a probar las credenciales.

    • Tabla de objetos seleccionados: Los objetos seleccionados se muestran en una tabla a la derecha. Cada columna se detalla a continuación:

      • Tabla: El nombre del objeto seleccionado, una tabla, vista o tabla del sistema.

        Nota

        Los nombres de las tablas con caracteres especiales como + no son compatibles con esta actividad.

      • Padre: En cada objeto hijo que se está uniendo, utiliza el menú desplegable para seleccionar el nombre del objeto que debe ser el padre. Esto es necesario para hacer cumplir la integridad transaccional de un objeto, así como para derivar la(s) clave(s) de enlace para un objeto hijo.

      • Tipo de unión: En cada objeto hijo que se está uniendo, un menú desplegable se vuelve disponible después de haber asignado Claves de Enlace (cubierto a continuación). Utiliza el menú desplegable para establecer el tipo de relación entre los objetos seleccionados:

        • Uno o más: Este tipo de unión requiere que cada registro padre tenga al menos 1 registro hijo, y posiblemente más registros hijos.

        • Solo uno: Este tipo de unión requiere que cada registro padre tenga 1 y solo 1 registro hijo.

        • Cero o más: Este tipo de unión permite que cada registro padre tenga 0 o más registros hijos.

        • Cero o uno: Este tipo de unión permite que cada registro padre tenga 0 registros hijos o solo 1 registro hijo.

      • Claves de Enlace: En cada objeto hijo que se está uniendo, una vez que se selecciona un objeto como Padre, aparece un enlace rojo Asignar dentro de este campo. Haz clic en Asignar para abrir una ventana separada donde puedes asignar las claves de enlace.

        • Objeto padre: El objeto padre y la lista de campos se muestran en la columna izquierda. Cualquier campo utilizado como clave primaria dentro de la base de datos está indicado por un ícono de llave . Si tienes un gran número de campos, puedes utilizar el cuadro de búsqueda para filtrar campos por nombre.

        • Objeto hijo: El objeto hijo y la lista de campos se muestran en la columna derecha. Si tienes un gran número de campos, puedes utilizar el cuadro de búsqueda para filtrar campos por nombre.

        • Asignar clave(s) de enlace: Para asignar un campo como clave de enlace, arrastra un campo del objeto padre a la izquierda a un campo dentro del objeto hijo a la derecha, o viceversa. Para asignar múltiples claves de enlace, repite este proceso.

        • Desasignar clave(s) de enlace: Para desasignar claves de enlace, haz clic en cualquier campo que ya haya sido vinculado. Los campos vinculados se deseleccionan.

        • Comenzar de nuevo: Para borrar todas las claves de enlace asignadas, haz clic en Comenzar de nuevo ubicado debajo de la lista principal a la izquierda.

        • Finalizar: Haz clic en Finalizar para guardar las claves de enlace asignadas y cerrar la ventana. Bajo Claves de Enlace, ahora deberías ver el número de claves de enlace asignadas, las cuales puedes hacer clic para reabrir la ventana de asignación de claves de enlace. Además, el menú desplegable Tipo de Unión se vuelve disponible para que configures el tipo de relación (cardinalidad) entre los objetos seleccionados.

      • Eliminar: Para eliminar un objeto seleccionado de la tabla, pasa el cursor sobre la columna más a la derecha y haz clic en el ícono de eliminar .

  • Guardar y Salir: Si está habilitado, haz clic para guardar la configuración de este paso y cerrar la configuración de la actividad.

  • Siguiente: Haz clic para almacenar temporalmente la configuración de este paso y continuar al siguiente paso. La configuración no se guardará hasta que hagas clic en el botón Finalizado en el último paso.

  • Descartar Cambios: Después de realizar cambios, haz clic para cerrar la configuración sin guardar los cambios realizados en ningún paso. Un mensaje te pide que confirmes que deseas descartar los cambios.

Paso 2: Seleccionar claves de upsert

  • Seleccionar claves: Selecciona las casillas de verificación de cualquier campo que desees usar como claves de Upsert. También puedes seleccionar un objeto completo para seleccionar todos sus campos a la vez. La(s) clave(s) de Upsert son el(los) campo(s) utilizados para identificar qué registros existentes necesitan ser Upsertados. Cualquier campo que se seleccione para ser utilizado como clave de Upsert se lista a la derecha.

  • Atrás: Haz clic para almacenar temporalmente la configuración de este paso y regresar al paso anterior.

  • Siguiente: Haz clic para almacenar temporalmente la configuración de este paso y continuar al siguiente paso. La configuración no se guardará hasta que hagas clic en el botón Finalizado en el último paso.

  • Descartar Cambios: Después de realizar cambios, haz clic para cerrar la configuración sin guardar los cambios realizados en ningún paso. Un mensaje te pide que confirmes que deseas descartar los cambios.

Paso 3: Revisar el esquema de datos

  • Esquema de Datos: Se muestra el esquema de datos de destino. Si la operación utiliza una transformación, los esquemas de datos se mostrarán nuevamente más adelante durante el proceso de mapeo de transformación, donde se pueden mapear campos de destino utilizando objetos de origen, scripts, variables, valores personalizados y más.

    Nota

    Para actualizar un esquema de datos en una actividad existente, debes avanzar a través de cada paso de configuración de la actividad nuevamente, haciendo al menos un cambio (como agregar y eliminar un carácter del final del nombre de la actividad) para forzar una actualización del esquema.

  • Atrás: Haz clic para almacenar temporalmente la configuración de este paso y regresar al paso anterior.

  • Terminado: Haz clic para guardar la configuración de todos los pasos y cerrar la configuración de la actividad.

  • Descartar Cambios: Después de realizar cambios, haz clic para cerrar la configuración sin guardar los cambios realizados en ningún paso. Un mensaje te pedirá que confirmes que deseas descartar los cambios.

Próximos pasos

Después de configurar una actividad de Upsert de Base de Datos, puedes usarla dentro de una operación o script como se describe a continuación.

Completar la operación

Después de configurar una actividad de Upsert de Base de Datos, completa la configuración de la operación agregando y configurando otras actividades o herramientas como pasos de operación. También puedes configurar la configuración de la operación, que incluye la capacidad de encadenar operaciones que están en los mismos o diferentes flujos de trabajo.

Las acciones del menú para una actividad son accesibles desde el panel del proyecto y el lienzo de diseño. Para más detalles, consulta el menú de acciones de actividad en Conceptos básicos de conectores.

Las actividades de Upsert de Base de Datos se pueden usar como un objetivo con estos patrones de operación:

Otros patrones no son válidos utilizando actividades de base de datos Upsert. Consulte los patrones de validación en la página de Validez de operación.

Dentro de una transformación, si se utiliza la opción de reflejar un esquema proporcionada por una actividad de base de datos que utiliza una sola tabla (sin uniones), el esquema reflejado resultante se crea automáticamente con un nodo adicional llamado row. Cuando se mapean campos dentro de este nodo adicional, el nodo se convierte en un nodo de bucle para permitir que se iteren todos los registros (consulte Nodos de bucle bajo Estructuras de datos).

Además, si se están uniendo tablas de base de datos, tenga en cuenta que los valores de los campos unidos de una tabla secundaria se establecen de forma predeterminada en los valores de los campos unidos de la tabla principal. Los campos unidos de una tabla secundaria no se pueden mapear.

Cuando esté listo, despliegue y ejecute la operación y valide el comportamiento revisando los registros de operación.

Usar actividades de base de datos en scripts

Las actividades de base de datos Upsert también se pueden referenciar en un script para su uso con funciones de script que utilizan un target de base de datos como parámetro, incluyendo estas:

  • DBLoad
  • DBWrite

Para más detalles sobre cómo referenciar actividades en scripts, consulte Puntos finales en Jitterbit Script.

Además, es posible que puedas utilizar funciones adicionales de base de datos en la transformación. Por ejemplo, al mapear a un destino de base de datos, si tienes un destino de múltiples tablas con relaciones padre-hijo y estás actualizando o insertando datos, puedes utilizar las funciones de transformación <SQLIDENTITY> y <SEQUENCE>.

  • <SQLIDENTITY> se utiliza para todas las bases de datos de destino que no son Oracle y que admiten claves de generación de números automáticos o de identidad. Después de que se inserta el padre, el hijo puede heredar el número generado del padre al mapear esta función a la clave foránea en la tabla del hijo.
  • <SEQUENCE> realiza una acción similar con bases de datos Oracle.

Usar fragmentación

Al utilizar fragmentación en una operación donde el destino es una actividad de base de datos, ten en cuenta que los datos de destino se escriben primero en numerosos archivos temporales (uno para cada fragmento). Estos archivos se combinan luego en un solo archivo de destino, que se envía a la base de datos para su inserción/Upsert.

Si configuras la variable de Jitterbit jitterbit.target.db.commit_chunks a 1 o true cuando la fragmentación está habilitada, cada fragmento se compromete a la base de datos a medida que se vuelve disponible. Esto puede mejorar significativamente el rendimiento, ya que las inserciones/Upserts en la base de datos se realizan en paralelo.

Para instrucciones y mejores prácticas sobre el uso de la fragmentación, consulta Opciones de operación.