诊断信息反映函数执行情况,某个函数若返回 DSQL_SUCCESS_WITH_INFO 或者
DSQL_ERROR,就能通过调用 dpi_get_diag_rec 或者 dpi_get_diag_field 函数获取具体的诊断
信息,从而有效的定位错误原因。
诊断信息分为诊断头信息以及诊断域信息。
诊断头信息包含如下字段:
属性 |
说明 |
DSQL_DIAG_NUMBER |
诊断信息个数 |
DSQL_DIAG_DYNAMIC_FUNCTION_CODE |
语句类型 |
DSQL_DIAG_ROW_COUNT |
语句执行影响的行数 |
DSQL_DIAG_PRINT_INFO |
存储过程或语句块的打印信息 |
DSQL_DIAG_EXPLAIN |
explain 语句的结果 |
诊断域信息包含如下字段。
属性 |
说明 |
DSQL_DIAG_COLUMN_NUMBER |
出错的列号 |
DSQL_DIAG_ROW_NUMBER |
出错的行号 |
DSQL_DIAG_MESSAGE_TEXT |
错误信息 |
DSQL_DIAG_ERROR_CODE |
错误码 |
https://xpanx.com/
评论