首页 > 解决方案 > 如何尝试从链接服务器上执行的查询中捕获错误?

问题描述

我正在寻找在存储过程中查询链接服务器以设置具有结果的变量,即使链接服务器抛出错误并将变量设置为任意datetime.

我试图将声明式查询包装在 try catch 语句中。

BEGIN TRY
SELECT @dttemp  = maxdt FROM OPENQUERY(DEV,'SELECT MAX(MODIFIED_DATE) as maxdt FROM ODB.DEV ')
END TRY
BEGIN CATCH
    SET @dttemp = cast(-53690 as datetime)
end catch
END CATCH 

当我执行存储过程时,我得到了这个错误:

OLE DB provider "OraOLEDB.Oracle" for linked server "DEV" returned message "ORA-12170: TNS:Connect timeout occurred".

标签: sqlsql-serveroracletsql

解决方案


推荐阅读