sql - 如何尝试从链接服务器上执行的查询中捕获错误?
问题描述
我正在寻找在存储过程中查询链接服务器以设置具有结果的变量,即使链接服务器抛出错误并将变量设置为任意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".
解决方案
推荐阅读
- angular - 构建表单时控件和 AbstractControls 出错
- java - ClassNotFoundException: org.springframework.kafka.listener.config.ContainerProperties 尝试升级 Spring Boot 版本时
- javascript - p5.js - 无法在程序运行时的随机点读取我的更新函数
- c# - “ConfigurationStoreOptions”不包含“UseSqlServer”的定义
- c++ - 如何为 SIFT 关键点 OpenCV 获得正确的 Octave
- swift - 在 selectedSegment SwiftUi 中显示 mapType
- r - R中两个随机变量的乘积,使用discreteRV包
- python - Python从文件文本制作嵌套列表
- linux - 如何从父进程的cgroup中分离子进程?
- android - AR Core 虚拟场景未在模拟器中显示