如果我尝试在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 ... CATCH,如果您仍然连接到SQL 2000服务器,安装SQL Server Management Studio将无济于事。

其他提示

出现此类错误的原因似乎是目标数据库正在MS SQL Server 2000服务器上运行。所以请确保您的数据库服务器是SQL2005

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top