1

データベースのタイムアウト例外が発生していますが、一貫していません。実行される場合もあれば、失敗する場合もあります。データベースの障害に関するログ ファイルを書き込みたいと考えています。私のクエリは で囲まれていCFTRANSACTIONます。

私の質問は、ログを書き込めるように TRANSACTION の失敗を検出するにはどうすればよいですか? また、try/catch ブロックはどこに配置すればよいですか。の中にCFTRANSACTION入れますか、それともCFTRANSACTIONtry/catch ブロックの中に入れますか?

4

1 に答える 1

5

これは出発点かもしれません。SQL Server で実行時間の長いクエリをシミュレートするためのリンクは次のとおりです。SQL Serverでクエリのタイムアウトを強制する

<cftransaction>

    <cftry>
        <cfquery datasource="mydatasource" timeout="1">
            <!--- problem query --->
        </cfquery>

        <cfcatch type="Database">
        <!--- write to log --->
            <cftransaction action="rollback" />
        </cfcatch>
    </cftry>

</cftransaction>
于 2013-01-23T08:01:59.957 に答える