【问题标题】:try catch not working in sql server 2005尝试 catch 在 sql server 2005 中不起作用
【发布时间】:2009-11-27 18:08:55
【问题描述】:

如果我尝试在 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

这是什么意思..?我要做什么改变???

【问题讨论】:

  • @ken...try catch 在 sql server 2000 中不存在所以这不是我的问题...我的 try catch 在 sql server 2005 本身中不起作用我希望你现在清楚...thanx
  • @ken..一开始我指定我在 sql server 2005 中编写这段代码..我希望你注意到...

标签: sql-server try-catch


【解决方案1】:

您需要使用 SQL Server 2005 或更高版本才能使用 TRY...CATCH,如果您仍连接到 SQL 2000 服务器,安装 SQL Server Management Studio 将无济于事。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • @Mike C.:你没有注意到其他人已经回答了相同的信息吗?
    • 我指出他在原帖中回答了他自己的问题。
    • @Mike:我们其他人也是。不过,@anay 似乎决心不听答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    相关资源
    最近更新 更多