2009-11-27 54 views
0

不工作,如果我尝试运行在SQL Server 2005下面的代码我得到错误尝试捕捉在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服务管理器,但仍然得到错误..一篇文章相关说

这样的错误的原因似乎是目标达tabase在MS SQL Server 2000服务器上运行。所以请确保你的数据库服务器是SQL2005

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

+0

@ken ...尝试捕获不存在于SQL Server 2000中,所以这不是我的问题...我的尝试捕获不工作在SQL Server 2005本身我希望你清除现在... thanx – anay 2009-11-27 20:07:55

+0

@ ken ..在开始自己我高压指定即时通讯编写此代码在SQL Server 2005 ..我希望你注意到... – anay 2009-11-27 20:29:42

回答

6

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

+1

嘿得到它.. ..吨吨.. !!! – anay 2009-11-27 20:43:07

0

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

+1

@Mike C .:你没有注意到其他人已经回答了相同的信息? – 2009-11-27 19:53:31

+1

我指出他在原帖中回答了他自己的问题。 – 2009-11-27 20:08:04

+1

@迈克..我知道原因..但我不知道我该如何解决问题... – anay 2009-11-27 20:10:43