質問: 私は、SqlServerデータベースのテーブルにデータをBulkCopyするためにSqlTransactionを使用しています。挿入された表の列の値に基づいて呼び出されるいくつかのストアド・プロシージャがあります。エラーがあれば、ロールバックを使用してテーブルのデータがダーティーにならないようにします。私は1つのテーブルにいくつかのデータを記録しています。その目的は、そのストアドプロシージャが呼び出されたときにログを記録することです。私はトランザクションをロールバックしているときにログデータも失っています。誰も私にこの問題を回避する方法を教えてくださいできますか?可能であれば、役に立つリンクを教えてください。 ありがとう。
回答: トランザクションがストアド・プロシージャ内でコード化されている場合は、トランザクション内からロギングする代わりに、ロールバック後にメッセージ(およびタイムスタンプ)とログを連結します。 別の方法は、連結された文字列をエラーとして戻し、SQLExceptionの処理の一部としてログ表にログインすることです。