소스 검색

fcl-db: mssql: make Rollback more safe. Check if there is active transaction first to avoid error "The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION."
Sometimes SQL Server automaticaly rollbacks transaction and then raises error ...
ODBC driver does same: IF @@TRANCOUNT>0 ROLLBACK.

git-svn-id: trunk@29430 -

lacak 10 년 전
부모
커밋
1e3d48288c
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      packages/fcl-db/src/sqldb/mssql/mssqlconn.pp

+ 1 - 1
packages/fcl-db/src/sqldb/mssql/mssqlconn.pp

@@ -540,7 +540,7 @@ end;
 
 function TMSSQLConnection.Rollback(trans: TSQLHandle): boolean;
 begin
-  Execute('ROLLBACK');
+  Execute('IF @@TRANCOUNT>0 ROLLBACK');
   Result:=true;
 end;