我正在获取数据库超时异常,但不是一致的。有时它会执行,有时会失败。我想写一个关于数据库失败的日志文件。我的查询附有CFTRANSACTION
。
所以我的问题是如何检测TRANSACTION失败以便我可以写日志?另外,我在哪里放置try / catch块;在CFTRANSACTION
内或将CFTRANSACTION
放在try / catch块中?
答案 0 :(得分:5)
这可能是一个起点。以下是在SQL Server中模拟长时间运行查询的链接:Forcing a query timeout in SQL Server
<cftransaction>
<cftry>
<cfquery datasource="mydatasource" timeout="1">
<!--- problem query --->
</cfquery>
<cfcatch type="Database">
<!--- write to log --->
<cftransaction action="rollback" />
</cfcatch>
</cftry>
</cftransaction>