connection to a SQL Server 2000 database on the same machine. When an
error occurs, I'd like to be able to determine whether the error is
serious enough that the database connection has been lost, so I can
have the application try to reconnect automatically. My understanding
is that any error of severity 20 or above includes a broken connection,
but I'm having difficulty retrieving the error severity through ODBC.
So my first question is, how do I retrieve the error severity through
ODBC?
Also, as a test, I stopped the database while my application is still
running, and the first error I received had a native error code of 55.
There is no 55 error in the sysmessages table, so I'm confused as to
what the severity of the error is. Can anyone shed some light on why I
would be receiving an error code that is not in the sysmessages table,
and where I might be able to find more information about the error?
Thanks in advance,
AbramI'm not at all familiar with ODBC, however if there's a fatal error
which breaks the connection, it seems unlikely that the server will be
able to inform the client, so I don't see how you could guarantee that
you'll get the MSSQL severity level in a client application (although
it should be logged on the server).
I think you should probably have a look at whatever ODBC errors might
be raised in this situation, although as I said I don't know much about
ODBC, so I may be on the wrong track. In any case, it might be worth
asking the question in an ODBC group as well - handling unexpected
disconnections from a remote data source is probably not specific to
MSSQL.
As for error 55, it's probably Windows error 55 - try typing this at a
command prompt:
NET HELPMSG 55
Simon|||Thanks Simon. I've cross-posted on microsoft.public.data.odbc as well.
I think you're right about error 55. Thanks again!
Abram
No comments:
Post a Comment