Este tema contiene consejos para solucionar algunos problemas comunes que pueden surgir al ejecutar flujos de mensajes.
Este error hace que el mensaje sea dirigido al terminal de anomalías.
BIP2211: (Mensaje de configuración no válido que contiene el valor de atributo [valor de atributo]
que no es válido para el atributo de destino [nombre de atributo de destino],
objeto [nombre de objeto]; los valores válidos son [valores válidos])
Es posible que haya conectado el terminal de anomalías del nodo MQInput a un nodo sucesivo en lugar de conectarlo al terminal de salida. El terminal de salida es el terminal situado en el medio de los tres. Los mensajes dirigidos a un terminal de salida desconectado se eliminan.
Si el terminal de anomalías del nodo MQInput se ha conectado (por ejemplo, a un nodo MQOutput), estos mensajes no aparecen.
Conectar un nodo a un terminal de anomalías de cualquier nodo indica que ha diseñado el flujo de mensajes para que se ocupe de todo el proceso de errores. Si conecta un terminal de anomalías a un nodo MQOutput, el flujo de mensajes ignora los errores que se producen.
Esta acción crea una entrada de rastreo de usuario sólo de los nodos que el mensaje visita.
En sistemas distribuidos, puede recuperar las entradas de rastreo utilizando el mandato mqsireadlog , darles formato utilizando el mandato mqsiformatlog y ver los registros con formato para comprobar la ruta del mensaje por el flujo de mensajes.
Para z/OS, edite y someta el trabajo
BIPRELG
en COMPONENTPDS para ejecutar los mandatos mqsireadlog ymqsiformatlog para procesar rastreos.
Vuelva a enviar su mensaje al flujo de mensajes. El rastreo a nivel de depuración proporciona muchos más detalles sobre la razón por la cual el mensaje está tomando una determinada ruta, para que pueda entonces determinar las razones de las acciones realizadas por el flujo de mensajes.
No olvide desactivar el rastreo cuando haya solucionado el problema; de lo contrario el rendimiento se verá afectado negativamente.
SQL0954C No hay suficiente almacenamiento disponible en el almacenamiento dinámico de la aplicación para procesar la sentencia .
En z/OS, podría devolverse un SQLSTATE de HY014
con un código SQL de -99999, que indica que el proceso DataFlowEngine ha alcanzado
el límite de proceso DB2 z/OS
de 254 manejadores de sentencias SQL preparadas.
Por razones de rendimiento, una vez preparada la sentencia, ésta y el manejador se guardan en una memoria caché para reducir el número de llamadas a la función SQLPrepare. Si la sentencia ya está en la memoria caché, se devuelve el manejador de la sentencia para que pueda volver a ejecutarse con parámetros recién enlazados.
La serie de la sentencia se utiliza para realizar la búsqueda en la memoria caché. Si se utilizan series SQL codificadas de forma persistente que varían ligeramente para cada mensaje, la sentencia no se encuentra en la memoria caché y siempre se realiza una función SQLPrepare (y se abre un nuevo cursor ODBC). Al utilizar sentencias PASSTHRU, utilice marcadores de parámetros de modo que se pueda utilizar la misma sentencia SQL preparada para cada mensaje procesado, y que los parámetros se enlacen durante la ejecución. Este método es más eficaz en cuanto a recursos de base de datos y, para las sentencias que se ejecutan repetidamente, es más rápido.
No obstante, no siempre es posible utilizar marcadores de parámetros, o tal vez desee generar dinámicamente las series de las sentencias SQL en tiempo de ejecución. Esto tiene como posible resultado el almacenamiento en memoria caché de muchas sentencias SQL exclusivas. La memoria caché en sí no aumenta mucho de tamaño, porque normalmente estas sentencias no son grandes, pero muchas asignaciones de memoria pequeñas pueden ocasionar la fragmentación de la memoria.
En Llenar el destino en el árbol LocalEnvironment se proporcionan algunos procedimientos de ejemplo para ayudarle a establecer las listas de destinos. Puede utilizar estos procedimientos sin cambiarlos, o modificarlos según sus necesidades.
Si los problemas persisten, vacíe wsplugin6.conf, reinicie el intermediario y despliegue de nuevo los flujos de mensajes.
BIP5347 se emite normalmente durante el paso 1. Este problema puede parecer que es intermitente; si reinicia el grupo de ejecución, a veces el mensaje se procesa correctamente.
BIP5347 se suele producir en AIX, donde la causa es la limitación predeterminada de diez conexiones de memoria compartida a DB2.
BIP5347 también puede deberse a la presencia de una limitación de valor de fecha y hora en el conjunto de mensajes, que produce el error cada vez que se despliega el conjunto de mensajes.
SQL1224N Un agente de base de datos no ha podido iniciarse para atender una petición o ha terminado como resultado de una conclusión del sistema de base de datos o de un mandato force.Puede ver la solución de este problema en el tema Se emite el mensaje de error de DB2 SQL1224N cuando se conecta a DB2.
No se ha podido analizar el valor de fecha y hora internamente; 9, 2001-12-17T09:30:47.0Z, yyyy-MM-dd’T’HH:mm:ss.SZZZEste error se produce porque el elemento MRM en cuestión tiene un valor de fecha y hora que no es compatible con la serie de formato de fecha y hora, por lo que no se acepta el diccionario. Para resolver este problema, asegúrese de que el valor de fecha y hora sea compatible con la serie de formato de fecha y hora.
BIP2130: Error al convertir una serie de caracteres de o a una página de códigos [valor página códigos]
donde [valor página códigos] es -1 o -2. No obstante, no ha especificado una página de
códigos -1 o -2 en el árbol de mensaje. Sí ha utilizado una de estas constantes de WebSphere MQ, MQCCSI_EMBEDDED o MQCCSI_INHERIT.SET OutputRoot.MQRFH2.(MQRFH2.Field)CodedCharSetId = MQCCSI_INHERIT;por
SET OutputRoot.MQRFH2.(MQRFH2.Field)CodedCharSetId = InputRoot.MQMD.CodedCharSetId;donde la carpeta MQMD es la cabecera que precede a la cabecera MQRFH2.
db2set DB2_RR_TO_RS=YES_OVERRIDE_RI
Reinicie el gestor de bases de datos de DB2 para que este cambio entre en vigor.