Utilice el nodo DataDelete para interactuar con una base de datos en el origen de datos ODBC especificado.
Este tema contiene las secciones siguientes:
El nodo DataDelete es una forma especializada del nodo Database y la interacción se limita a la supresión de una o más filas de una tabla de la base de datos. Los elementos a suprimir se especifican mediante sentencias de correlación que utilizan los datos del mensaje de entrada para identificar la acción necesaria.
Puede establecer una propiedad para controlar si la actualización de la base de datos se confirma inmediatamente o si se difiere hasta que el flujo de mensajes se complete, momento en el que la actualización se confirma o se restituye, según el estado general de realización del flujo de mensajes.
El nodo DataDelete está contenido en la bandeja Base de datos de la paleta y se representa en el entorno de trabajo con el siguiente icono:
Por ejemplo, supongamos que se está efectuando una promoción limitada. Los artículos sólo están disponibles durante el periodo de promoción y cada cliente sólo puede obtener un artículo. Cuando se terminan las existencias de los artículos en venta, desea eliminar los detalles de la base de datos de las existencias. Cuando entra un mensaje con el pedido para el último artículo, se activa el nodo DataDelete para eliminar de la base de datos todos los detalles para ese artículo.
Cuando haya colocado una instancia del nodo DataDelete en un flujo de mensajes, podrá configurarlo. Para ver más información, consulte el apartado Configurar un nodo de flujo de mensajes. Las propiedades del nodo se visualizan en la vista Propiedades, Para visualizar las propiedades del nodo en el diálogo Propiedades, pulse con el botón derecho del ratón sobre el nodo y pulse en Propiedades. (Si efectúa una doble pulsación en el nodo DataDelete, se abre el recuadro de diálogo Nueva correlación de mensajes.) Todas las propiedades obligatorias para las que debe especificar un valor (las que no tienen un valor predeterminado definido) están marcadas con un asterisco.
Los terminales del nodo DataDelete se describen en la tabla siguiente.
Terminal | Descripción |
---|---|
In (de entrada) | El terminal de entrada que acepta un mensaje para que lo procese el nodo. |
Failure (de anomalías) | El terminal de salida al que se propaga el mensaje de entrada si se detecta una anomalía durante el cálculo. Si ha seleccionado Tratar los avisos como errores, el nodo propaga el mensaje a este terminal aunque el proceso se complete satisfactoriamente. |
Out (de salida) | El terminal de salida que efectúa la salida del mensaje después de la ejecución de la sentencia de base de datos. |
Las tablas siguientes describen las propiedades de nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo BAR para desplegarlo).
Las propiedades de descripción del nodo DataDelete están descritas en la siguiente tabla.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | DataDelete | El nombre del nodo. |
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe el propósito del nodo en el flujo de mensajes. |
Las propiedades básicas del nodo DataDelete se describen en la siguiente tabla.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Origen de datos | No | Sí | El nombre del origen de datos ODBC de la base de
datos que contiene las tablas a las que se hace referencia en las
correlaciones asociadas a este nodo (identificadas por la propiedad Sentencia).
Este nombre identifica la base de datos apropiada del sistema en el que se va a ejecutar el flujo de mensajes. El intermediario se conecta a esta base de datos con la información de ID
de usuario y contraseña que ha especificado en el mandato
mqsicreatebroker,
mqsichangebroker o
mqsisetdbparms.
|
|
Sentencia | Sí | No | DataDelete | Nombre de la rutina de correlación que contiene
las sentencias que se tienen que ejecutar contra la base de datos o el
árbol de mensaje. La rutina es exclusiva de
este tipo de nodo. Por omisión, el nombre asignado a la rutina de correlación es
idéntico al nombre del archivo de correlación en el que se define la
rutina. El nombre predeterminado para el archivo es el nombre del flujo de mensajes
enlazado con el nombre del nodo cuando lo incluye en el flujo de mensajes (por
ejemplo, MFlow1_DataDelete.msgmap para el primer nodo
DataDelete en el flujo de mensajes
MFlow1). No se
puede especificar un valor que contenga espacios en blanco. Si pulsa Examinar al lado de este campo de entrada, aparece un recuadro de diálogo que lista todas las rutinas de correlación disponibles a las que puede acceder este nodo. Seleccione la rutina que desee y pulse Aceptar; el nombre de la rutina se establece en Sentencia. Para trabajar con la rutina de correlación asociada a este nodo, efectúe una doble pulsación en el nodo o pulse el botón derecho del ratón en el nodo y pulse Abrir correlaciones. Si la rutina de correlación no existe, se crea automáticamente con el nombre predeterminado en el archivo predeterminado. Si el archivo ya existe, también puede abrir el archivo nombre_flujo_nombre_nodo.msgmap en la vista Desarrollo de intermediario. Una rutina de correlación es específica del tipo de nodo al que está asociada; no se puede utilizar una rutina de correlación que ha desarrollado para un nodo DataDelete con ningún otro nodo que utilice correlaciones (por ejemplo, un nodo DataInsert). Si crea una rutina de correlación, no puede llamarla desde ninguna otra rutina de correlación, aunque puede llamarla desde una rutina ESQL. Para obtener más información sobre cómo trabajar con archivos de correlación y definir el contenido, consulte Desarrollo de correlaciones de mensajes. |
Transacción | Sí | No | Automática | La modalidad de transacción para el nodo. Los valores son los siguientes:
|
Tratar los avisos como errores | Sí | No | No seleccionado | Para que los mensajes de aviso de base de datos se traten como errores
y que el nodo propague el mensaje de salida al terminal de anomalías,
seleccione Tratar los avisos como
errores. El recuadro está vacío de forma predeterminada. Cuando selecciona el recuadro, el nodo gestiona todos los códigos de retorno positivos de la base de datos como errores y genera excepciones igual que si se tratase de errores negativos o más graves. Si no selecciona el recuadro, el nodo trata los avisos como códigos de retorno habituales y no emite excepciones. El aviso más significativo es no encontrado que, en la mayoría de los casos, puede tratarse de forma segura como un código de retorno habitual. |
Generar excepción en error de base de datos | Sí | No | Seleccionado | Para que el intermediario genere una excepción cuando se detecte un error de base de
datos, seleccione Generar excepción en error de base de
datos. El recuadro está esleccionado de forma predeterminada. Si deselecciona el recuadro, deberá gestionarlo en el flujo de mensajes para asegurarse de la integridad del intermediario y de la base de datos: el error se ignora si no lo gestiona a través de su propio proceso, debido a que ha decidido no invocar el manejo de errores predeterminado mediante el intermediario. Por ejemplo, puede conectar el terminal de anomalías a una subrutina de proceso de errores. |