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