попробуйте catch, который не работает в sql server 2005
-
05-07-2019 - |
Вопрос
если я попытаюсь запустить следующий код в sql server 2005, я получу сообщение об ошибке
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
Ошибка:
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.
я использовал диспетчер служб sql server 2000, но теперь я установил диспетчер служб sql server 2005, но все еще получаю ошибку .. в одной статье, связанной с этим, говорится
причина такой ошибки, по-видимому, заключается в том, что целевая база данных запущена на сервере MS SQL Server 2000.Поэтому убедитесь, что вашим сервером базы данных является SQL2005
что это значит ..?какие изменения я должен внести???
Решение
Вы должны использовать SQL Server 2005 или выше, чтобы иметь возможность использовать TRY...ОБРАТИТЕ внимание, установка SQL Server Management Studio не поможет, если вы все еще подключаетесь к серверу SQL 2000.
Другие советы
причина такой ошибки, по-видимому, заключается в том, что целевая база данных запущена на сервере MS SQL Server 2000.Поэтому убедитесь, что вашим сервером базы данных является SQL2005