xms77 发表于 2014-7-4 13:19:48

Oracle查询远程数据库经常出错

用这句语句$adoRs.Open($sql)来查询远程数据库的数据,大多数时候是成功的,但是有时就会出现错误,造成程序崩溃。为什么用If @error Then Return -1语句不能起到防崩溃效果呢?有没有什么办法来防止程序崩溃呢?我估计是Oracle数据库连接不稳定造成的,但是不知道怎么会这样。$adoRs.Open($sql)
If @error Then Return -1

298311657 发表于 2014-7-5 12:40:33

用obj拦截错误

298311657 发表于 2014-7-5 12:41:19

$Err = ObjEvent("AutoIt.Error", "ODBCJET_ErroHandler") ;定义一个函数ODBCJET_ErroHandler收集对象的错误

Func ODBCJET_ErroHandler();Com对象错误信息收集函数
      MsgBox(0,"Intercepted Sql Error !", @CRLF &"Intercepted Sql Error !"      & @CRLF& _
             "err.description is: "    & @TAB & $Err.description    & @CRLF & _
             "err.windescription:"   & @TAB & $Err.windescription & @CRLF & _
             "err.number is: "         & @TAB & hex($Err.number,8)& @CRLF & _
             "err.lastdllerror is: "   & @TAB & $Err.lastdllerror   & @CRLF & _
             "err.source is: "         & @TAB & $Err.source         & @CRLF & _
             "err.helpfile is: "       & @TAB & $Err.helpfile       & @CRLF & _
             "err.helpcontext is: "    & @TAB & $Err.helpcontext & @CRLF)
      SetError(1)
EndFunc   ;==>ODBCJET_ErroHandler
页: [1]
查看完整版本: Oracle查询远程数据库经常出错