当前位置: 代码迷 >> VFP >> odbc异常信息
  详细解决方案

odbc异常信息

热度:5892   发布时间:2013-02-26 00:00:00.0
odbc错误信息
各位:我通过odbc向后台发送语句,出现异常,我立即用=aerror(arrayerr)获取错误信息,现在我想要判断是网络连接断开,或者是后台服务器的down机,一般是用哪个参数来判断,我试了用arrayerr(5)的值来判断是否断开连接(当然不同的数据库类型,其值不一样),又怕不准确,请大家伙都来指教指教

------解决方案--------------------------------------------------------
*====================================================
*作 用:写ODBC错误到日志ErrorLog.txt,并显示错误信息
*语 法:MyWriteShowOdbcErr(c另外要显示错误信息)
*参数说明:可为空,如 ' '
*返 回 值:无,直接写入日志文件并显示了错误信息
*====================================================
FUNCTION MyWriteShowOdbcErr
PARAMETERS tcWarnInfo
SET TEXTMERGE DELIMITERS TO
SET TEXTMERGE ON
SET TEXTMERGE TO ErrorLog.txt ADDITIVE NOSHOW
\-----------------------------------------------
\ < <DATETIME()> > ODBC 错误记录
nErrLine=AERROR(laErr)
FOR N=1 TO nErrLine
\错误编号: < <laErr(N,1)> >
\错误信息: < <laErr(N,2)> >
\ODBC 信息: < <laErr(N,3)> >
\ODBC SQL 状态: < <laErr(N,4)> >
\ODBC 数据源错误编号: < <laErr(N,5)> >
\ODBC 连接句柄: < <laErr(N,6)> >
\
\-----------------------------------------------
ENDFOR
SET TEXTMERGE TO
IF AERROR(laError)> 0
=MESSAGEBOX(CHR(10)+laError[2]+SPACE(5)+CHR(10)+CHR(10)+tcWarnInfo,0+16, '错误: '+TRANSFORM(laError[1]))
ELSE
MESSAGEBOX(tcWarnInfo,16, '错误 ')
ENDIF
ENDFUNC
------解决方案--------------------------------------------------------
用这种方式判断断开了连接应该没有问题,可以你不知道是什么原因断开的。
  相关解决方案