PRB: DB-Library Application Exits to Command Prompt (105019)
The information in this article applies to:
- Microsoft SQL Server 4.2x
- Microsoft SQL Server 6.5
This article was previously published under Q105019 SYMPTOMS
A character mode DB-Library application exits to the operating system
command prompt, often without any errors or messages. This frequently
occurs on a call to dbopen.
CAUSE
The DB-Library application's error handler is likely returning INT_EXIT.
This tells DB-Library to completely and immediately exit the
application, and return to the operating system command prompt.
NOTE: The DB-Library sample error handlers contain code similar to
the following:
if ((dbproc == NULL) || (DBDEAD(dbproc)))
return(INT_EXIT);
For example, if the dbopen function fails for any reason, a NULL
DBPROCESS pointer is passed to the error handler along with DB-Library
error 10004. This will cause the above code to return INT_EXIT, which
as stated above will immediately exit the application.
WORKAROUND
Ensure that the application's error handler returns INT_CANCEL instead
of INT_EXIT, similar to the following:
if ((dbproc == NULL) || (DBDEAD(dbproc)))
return(INT_CANCEL);
Returning INT_CANCEL tells DB-Library to simply return FAIL from the
current DB-Library function. Otherwise, ensure that the application
displays an appropriate message before returning INT_EXIT, similar to the
following:
printf("DB-Library Error %i: %s\n", dberr, dberrstr);
if ((dbproc == NULL) || (DBDEAD(dbproc)))
return(INT_EXIT);
Modification Type: | Minor | Last Reviewed: | 2/22/2005 |
---|
Keywords: | kbProgramming KB105019 |
---|
|