2010-05-02 13 views
6

Soy consciente de:¿Cómo obtener el último mensaje de error completo de MS SQL Server?

SELECT @@ERROR 

pero me dará solamente un código de error (un número) y necesito un mensaje de texto completo como:

No se puede insertar una fila de clave duplicada en el objeto ' dbo.TABLE_NAME 'con el índice único' IX_ID_unique '.

La declaración ha finalizado.

¿Cómo puedo hacer eso en MS Sql Server 2005?

EDIT: Necesito adquirir este mensaje de error en plataformas Linux y Windows.

Respuesta

5

¿Qué hay de ERROR_MESSAGE?

Consulte también: Retrieving Error Information in Transact-SQL


Y, a partir de PHP (como su pregunta está etiquetada php), echar un vistazo a:

Dependiendo en la API que está utilizando para acceder a su servidor MS SQL d atabase, por supuesto.

+1

ERROR_MESSAGE() requries sql: TRY..CATCH blocks y php: mssql_get_last_message() devuelve solo la última línea de un error, por lo que en el ejemplo anterior solo obtengo "La declaración ha finalizado". (que es información mucho menos importante que la primera parte sobre la clave duplicada). – JohnM2

Cuestiones relacionadas