안녕하세요.
ASP.NET에서 데이터를 INSERT하는 SP를 호출하는 부분이 있습니다.
기존에는 SP내에서 트랜잭션으로 묶어 COMMIT/ROLLBACK 처리를 하였습니다.
하지만 COMMIT갯수와 TRAN갯수가 일치하지 않다는 오류가 빈번히 발생하였고,
BEGIN TRAN / TRY 및 COMIMT/ROLLBACK을 SP내에서 제거 하였습니다.
SP내에서 제거 후 ASP.NET단에서
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
{
int rows = db.ExecuteNonQuery(dbCommand);
scope.Complete();
rtnMessage = (string)db.GetParameterValue(dbCommand, "@OUTMSG");
}
위와같이 TransactionScope 을 사용하여 트랜잭션으로 묶었습니다만..
SP 내에서
SET @OUTMSG = '퇴직예정자이므로 근태를 입력할 수 없습니다.'
RETURN
와 같이 리턴을 시키면... ASP.NET단에서 ROLLBACK처리를 못하는것 같습니다.....
결론적으로 ASP.NET단에서 SP호출 후 COMMIT/ROLLBACK 을 관리하고 싶은데
어떻게쓰면 좋을까요?