essayez catch ne fonctionne pas dans SQL Server 2005
-
05-07-2019 - |
Question
si j'essaie d'exécuter le code suivant sur SQL Server 2005, j'obtiens une erreur
BEGIN TRY
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
END CATCH;
GO
Erreur:
Line 1: Incorrect syntax near 'TRY'.
Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'END'.
Msg 195, Level 15, State 10, Line 7
'ERROR_NUMBER' is not a recognized function name.
J'utilisais SQL Server 2000 Service Manager, mais maintenant, j'ai installé SQL Server 2005 Service Manager, mais j'obtiens toujours le message d'erreur..un article qui s'y rapporte dit:
la raison d'une telle erreur semble être que la base de données cible est en cours d'exécution sur un serveur MS SQL Server 2000. Assurez-vous donc que votre serveur de base de données est SQL2005
.qu'est-ce que cela signifie ..? quels changements je dois faire ???
La solution
Vous devez utiliser SQL Server 2005 ou version ultérieure pour pouvoir utiliser TRY ... CATCH, l'installation de SQL Server Management Studio ne vous aidera pas si vous vous connectez toujours à un serveur SQL 2000.
Autres conseils
la raison d'une telle erreur semble être que la base de données cible est en cours d'exécution sur un serveur MS SQL Server 2000. Assurez-vous donc que votre serveur de base de données est SQL2005
.