📄 timeout_handler.c
字号:
#include <stdio.h>#include <ctpublic.h>/* The Client-Library error and message handler */CS_RETCODE ctlib_client_msg_handler(ctx, conn, client_msgtxt)CS_CONTEXT *ctx;CS_CONNECTION *conn;CS_CLIENTMSG *client_msgtxt;{ int ans = 0; fprintf(stderr, "\nOPEN CLIENT ERROR MESSAGE"); fprintf(stderr, "\nnumber: layer (%ld), origin (%ld)", CS_LAYER(client_msgtxt->msgnumber), CS_ORIGIN(client_msgtxt->msgnumber)); fprintf(stderr, "\ntext:\n%s", client_msgtxt->msgstring); if (client_msgtxt->osstringlen > 0) { fprintf(stderr, "\nOS error : %s", client_msgtxt->osstring); } /* Handle timeout errors : 63 is 'Read from SQL Server timed out'. */ if (CS_NUMBER(client_msgtxt->msgnumber) == 63 ) { printf("\n\n"); printf("A TIMEOUT ERROR OCCURRED. Please choose "); printf("one of the following options:\n"); printf("1. Cancel only this command and continue processing. \n"); printf("2. Continue to wait for another timeout period. \n"); printf("\n\n Enter choice: "); scanf("%d",&ans); if ( ans == 1 ) { ct_cancel(conn, NULL, CS_CANCEL_ATTN); return CS_SUCCEED ; } else { printf("Waiting for another timeout period .. \n"); return CS_SUCCEED ; } } /* End of timeout handling section */return(CS_SUCCEED);}/* Routine to handle errors and messages from the server */CS_RETCODE ctlib_server_msg_handler(conn, cmd, srvr_msgtxt)CS_CONNECTION *conn;CS_COMMAND *cmd;CS_SERVERMSG *srvr_msgtxt;{ CS_RETCODE retcode ;if ((srvr_msgtxt->msgnumber == 5701) || ((srvr_msgtxt->msgnumber) == 5703)){ /* Suppress informational messages */}else{ fprintf(stderr, "\nSERVER MESSAGE"); if (srvr_msgtxt->svrnlen > 0) { fprintf(stderr, " from server '%s'", srvr_msgtxt->svrname); } if (srvr_msgtxt->proclen > 0) { fprintf(stderr, " at procedure '%s'", srvr_msgtxt->proc); } fprintf(stderr, "\nnumber (%ld), severity (%ld)", srvr_msgtxt->msgnumber, srvr_msgtxt->severity); fprintf(stderr, "\nstate (%ld), line (%ld)", srvr_msgtxt->state, srvr_msgtxt->line); fprintf(stderr, "\ntext:\n%s", srvr_msgtxt->text); fprintf(stderr, "\nMESSAGE HANDLER OUTPUT ENDS\n");} return(CS_SUCCEED);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -