попробуйте поймать не работает в SQL Server 2005 - PullRequest
0 голосов
/ 27 ноября 2009

, если я пытаюсь запустить следующий код в 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

что это значит ...? Какие изменения я должен сделать ???

Ответы [ 2 ]

6 голосов
/ 27 ноября 2009

Для использования TRY ... CATCH необходимо использовать SQL Server 2005 или более позднюю версию, установка SQL Server Management Studio не поможет, если вы все еще подключаетесь к серверу SQL 2000.

0 голосов
/ 27 ноября 2009

причина такой ошибки, кажется, в том, что целевая база данных работает на сервере MS SQL Server 2000 Поэтому убедитесь, что ваш сервер базы данных SQL2005

...