I am using T-SQL (SQL Server 2000). I would like to get error message
(for example stored in some string variable) when error appeares. I
found only system variable @.@.error which holds the error number of the
specific error. But I didn't find any way to get a message which is
written in SQL Qery analyzer in the Message window beneath the query
window.
Is it possible to get that message somehow? I would like to store it in my error table...
Thanks a lot,
Ziga
Hi
You can query the sysmessages table in the Master database for the error number that you receive, this will give you the description of the error. Books Online contains a description of the sysmessages table schema should you want to know what each field is, look under sysmessages.
HTH
|||Thanks a lot!But anyway I would like to get the same message as is reported in sql
server (with object names - attribute name). Systables contains
attribute description with description of the messages with
placeholders. I don't know how to put some real object names on the
place of placeholders... Actually I can't put them, because sql server
should somehow (cause I don't know on which attribute it breaks).|||
Hi
I don't believe there is a way of finding out the exact same message as displayed by SQL Server when an error occurs (although I could be wrong). If your procedure does multiple things then you could use the @.@.Error to determine if an error has occurred at each step of the procedure and then you would have at least more knowledge of where the error occurred. Add to that, the error number returned, you should then be able to log sufficient error information.
HTH
|||Unfortunately, there is no way to obtain the system error message in TSQL. SQL Server 2005 has new exception handling features that provide you this capability. So best is to log server generated error messages on the client-side and capture only the error numbers on the server.
No comments:
Post a Comment