2011-11-04 28 views
5

Casi todos los clientes devuelven errores de DB2 en formatoDb2 formateador de error legible por humanos

Error: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=103, COLNO=0, DRIVER=3.57.82 
SQLState: 23502 
ErrorCode: -407 

de lo que debería en Google de SQLCODE, que para Sqlstate y luego tratar de entender el significado de SQLERRMC. Me lleva mucho tiempo ... Me gustaría saber si hay alguna herramienta que analice ese formato y devuelva un error formateado amigable para el ser humano, como "Está intentando insertar nulo en la posición 2 donde solo valores posibles nulos ..."

Respuesta

2

La referencia del mensaje de DB2 versión 9 supera el here. Aunque los mensajes son bastante consistentes de una versión a otra, es posible que desee encontrar la referencia del mensaje para su versión específica.

En su caso, SQL 407 es here.

Además, como la referencia del mensaje states, si se desea traducir automáticamente los mensajes de error de DB2, puede hacer lo siguiente:

Invocar mensaje de ayuda, abra el procesador de línea de mandatos y entre:

? XXXnnnnn

donde XXX representa un prefijo de mensaje válido y nnnnn representa un número de mensaje válido.

El texto del mensaje asociado con un valor SQLSTATE determinado se puede consultar mediante la emisión de:

? nnnnn

o

? nn

donde nnnnn es un SQLSTATE de cinco dígitos (alfanumérico) y nn es el código de clase SQLSTATE de dos dígitos (los primeros dos dígitos del valor de SQLSTATE).

En su caso anterior podría ingresar? SQL0407 en el indicador CLP y debería obtener una descripción del mensaje de error.

+0

Desde la ventana de comando o shell, puede hacer lo mismo escribiendo: "db2? SQL0407" por ejemplo. – AngocA

0

Además, verifique la utilidad de IBM QW que puede ayudarlo a obtener la descripción y posibles soluciones a mano.

Cuestiones relacionadas